diff --git a/uk/ac/sanger/artemis/Entry.java b/uk/ac/sanger/artemis/Entry.java index 8da8c0cc072ebf0bd2576d2a33236b71b438c814..d71bb05ec3f4dfcc1c8bdba1cbe4d56860ca5d6c 100644 --- a/uk/ac/sanger/artemis/Entry.java +++ b/uk/ac/sanger/artemis/Entry.java @@ -949,25 +949,24 @@ public class Entry implements FeatureChangeListener, Selectable **/ public FeatureVector checkFeatureStartCodons() { - // get all the CDS features that do not have a /pseudo qualifier - final FeatureKeyQualifierPredicate predicate = - new FeatureKeyQualifierPredicate(Key.CDS, "pseudo", false); + // get all the CDS features that do not have a /pseudo or /pseudogene qualifier + final FeaturePredicateConjunction predicate = new FeaturePredicateConjunction( + new FeatureKeyQualifierPredicate(Key.CDS, "pseudo", false), + new FeatureKeyQualifierPredicate(Key.CDS, "pseudogene", false), + FeaturePredicateConjunction.AND); final FeatureVector non_embl_features = new FeatureVector(); - final FeatureEnumeration feature_enum = features(); while(feature_enum.hasMoreFeatures()) { final Feature current_feature = feature_enum.nextFeature(); - if(predicate.testPredicate(current_feature)) { if(!current_feature.hasValidStartCodon()) non_embl_features.add(current_feature); } } - return non_embl_features; } @@ -978,9 +977,11 @@ public class Entry implements FeatureChangeListener, Selectable **/ public FeatureVector checkFeatureStopCodons() { - // get all the CDS features that do not have a /pseudo qualifier - final FeatureKeyQualifierPredicate predicate = - new FeatureKeyQualifierPredicate(Key.CDS, "pseudo", false); + // get all the CDS features that do not have a /pseudo or /pseudogene qualifier + final FeaturePredicateConjunction predicate = new FeaturePredicateConjunction( + new FeatureKeyQualifierPredicate(Key.CDS, "pseudo", false), + new FeatureKeyQualifierPredicate(Key.CDS, "pseudogene", false), + FeaturePredicateConjunction.AND); final FeatureVector non_embl_features = new FeatureVector();