(JAL-1052) basic consensus line parsing to rna structure lines
[jalview.git] / src / jalview / workers / StrucConsensusThread.java
index 9143ad7..69236d8 100644 (file)
@@ -18,6 +18,9 @@ public class StrucConsensusThread extends AlignCalcWorker implements AlignCalcWo
   {
     super(alignViewport, alignPanel);
   }
+  AlignmentAnnotation strucConsensus;
+  Hashtable[] hStrucConsensus;
+
   public void run()
   {
     try
@@ -51,8 +54,8 @@ public class StrucConsensusThread extends AlignCalcWorker implements AlignCalcWo
         calcMan.workerComplete(this);
         return;
       }
-      AlignmentAnnotation strucConsensus=alignViewport.getAlignmentStrucConsensusAnnotation();
-      Hashtable[] hStrucConsensus=alignViewport.getRnaStructureConsensusHash();
+      strucConsensus=alignViewport.getAlignmentStrucConsensusAnnotation();
+      hStrucConsensus=alignViewport.getRnaStructureConsensusHash();
       strucConsensus.annotations = null;
       strucConsensus.annotations = new Annotation[aWidth];
 
@@ -64,7 +67,7 @@ public class StrucConsensusThread extends AlignCalcWorker implements AlignCalcWo
       // select rna struct to use for calculation
       for (int i = 0; i < aa.length; i++)
       {
-        if (aa[i].getRNAStruc() != null)
+        if (aa[i].getRNAStruc() != null && aa[i].isValidStruc())
         {
           rnaStruc = aa[i];
           break;
@@ -115,9 +118,6 @@ public class StrucConsensusThread extends AlignCalcWorker implements AlignCalcWo
 
   public void updateResultAnnotation(boolean immediate)
   {
-    AlignmentAnnotation strucConsensus = alignViewport
-            .getAlignmentStrucConsensusAnnotation();
-    Hashtable[] hStrucConsensus = alignViewport.getRnaStructureConsensusHash();
     if (immediate || !calcMan.isWorking(this) && strucConsensus!=null && hStrucConsensus!=null)
     {
       StructureFrequency.completeConsensus(strucConsensus,