JAL-4048 feature group filter
[jalview.git] / src / jalview / viewmodel / seqfeatures / IdColumns.java
index 2f113f2..5b16b1a 100644 (file)
@@ -148,13 +148,14 @@ public class IdColumns
     ColumnCell cell = null;
     if (col != null)
     {
+      SequenceI dseq = seq;
+      while (dseq.getDatasetSequence() != null)
+      {
+        dseq = dseq.getDatasetSequence();
+      }
       if (col == STRUCTURES_NUM)
       {
-        while (seq.getDatasetSequence() != null)
-        {
-          seq = seq.getDatasetSequence();
-        }
-        Vector pdbE = seq.getAllPDBEntries();
+        Vector pdbE = dseq.getAllPDBEntries();
         if (pdbE == null)
         {
           return null;
@@ -163,15 +164,15 @@ public class IdColumns
       }
       if (col.featureTypeName != null)
       {
-        List<SequenceFeature> np = seq.getFeatures()
+        List<SequenceFeature> np = dseq.getFeatures()
                 .getNonPositionalFeatures(col.featureTypeName);
         if (np != null)
         {
           for (SequenceFeature npfeat : np)
           {
             // nb deal with multiplicities!
-            if (col.featureGroupName != null && npfeat.featureGroup != null
-                    && npfeat.featureGroup.equals(col.featureGroupName))
+            if (col.featureGroupName == null || (npfeat.featureGroup != null
+                    && npfeat.featureGroup.equals(col.featureGroupName)))
             {
               Color fg = Color.black;
               Color bg = Color.white;
@@ -183,7 +184,7 @@ public class IdColumns
       }
       if (col.DbRefName != null)
       {
-        for (DBRefEntryI dbr : seq.getDBRefs())
+        for (DBRefEntryI dbr : dseq.getDBRefs())
         {
           if (dbr.getSource().equals(col.DbRefName))
           {