From d331d69d3a7b6515ff30171fb52a86708e909cf8 Mon Sep 17 00:00:00 2001
From: tcarver <tjc>
Date: Wed, 12 Sep 2012 12:03:26 +0100
Subject: [PATCH] look for /pseudogene as well as /pseudo qualifier

---
 uk/ac/sanger/artemis/Entry.java | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/uk/ac/sanger/artemis/Entry.java b/uk/ac/sanger/artemis/Entry.java
index 8da8c0cc0..d71bb05ec 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();
 
-- 
GitLab