diff --git a/uk/ac/sanger/artemis/util/DatabaseDocument.java b/uk/ac/sanger/artemis/util/DatabaseDocument.java index 1a3d1225e349743e39a05cdada8e20affb890599..d809eb3682cabe3c07786717b7619f39f82d8b94 100644 --- a/uk/ac/sanger/artemis/util/DatabaseDocument.java +++ b/uk/ac/sanger/artemis/util/DatabaseDocument.java @@ -2278,6 +2278,31 @@ public class DatabaseDocument extends Document return (Feature) dao.getFeatureByUniqueName(uniqueName, null); } + /** + * Given a feature uniqueName return the features that are part_of + * that gene + * @param geneName + * @return + */ + public Vector getPartOfFeatures(final String uniqueName) + { + Feature feature = getFeatureByUniquename(uniqueName); + if(feature == null) + return null; + + Collection frs = feature.getFeatureRelationshipsForObjectId(); + Iterator it = frs.iterator(); + Vector partOfFeatures = new Vector(frs.size()); + while(it.hasNext()) + { + FeatureRelationship fr = (FeatureRelationship)it.next(); + if(fr.getCvTerm().getName().equalsIgnoreCase("part_of")) + partOfFeatures.add(fr.getFeatureBySubjectId()); + } + + return partOfFeatures; + } + /** * Given a gene unique name return the poplypeptide chado features that belong * to that gene