Merge branch 'develop' into features/JAL-2349_matrixvis
authorJim Procter <jprocter@issues.jalview.org>
Wed, 5 Jul 2017 15:06:42 +0000 (16:06 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Wed, 5 Jul 2017 15:06:42 +0000 (16:06 +0100)
1  2 
src/jalview/appletgui/AnnotationPanel.java
src/jalview/gui/AnnotationPanel.java
src/jalview/viewmodel/AlignmentViewport.java

Simple merge
@@@ -2872,9 -2871,44 +2872,50 @@@ public abstract class AlignmentViewpor
      return searchResults;
    }
  
 +  @Override
 +  public ContactListI getContactList(AlignmentAnnotation _aa, int column)
 +  {
 +    return alignment.getContactListFor(_aa, column);
 +  }
++
+   /**
+    * get the consensus sequence as displayed under the PID consensus annotation
+    * row.
+    * 
+    * @return consensus sequence as a new sequence object
+    */
+   public SequenceI getConsensusSeq()
+   {
+     if (consensus == null)
+     {
+       updateConsensus(null);
+     }
+     if (consensus == null)
+     {
+       return null;
+     }
+     StringBuffer seqs = new StringBuffer();
+     for (int i = 0; i < consensus.annotations.length; i++)
+     {
+       Annotation annotation = consensus.annotations[i];
+       if (annotation != null)
+       {
+         String description = annotation.description;
+         if (description != null && description.startsWith("["))
+         {
+           // consensus is a tie - just pick the first one
+           seqs.append(description.charAt(1));
+         }
+         else
+         {
+           seqs.append(annotation.displayCharacter);
+         }
+       }
+     }
+   
+     SequenceI sq = new Sequence("Consensus", seqs.toString());
+     sq.setDescription("Percentage Identity Consensus "
+             + ((ignoreGapsInConsensusCalculation) ? " without gaps" : ""));
+     return sq;
+   }
  }