+
+ /**
+ * Convert the computed consensus data into the desired annotation for
+ * display.
+ *
+ * @param consensusAnnotation
+ * the annotation to be populated
+ * @param hconsensus
+ * the computed consensus data
+ */
+ protected void deriveConsensus(AlignmentAnnotation consensusAnnotation,
+ ProfileI[] hconsensus)
+ {
+ long nseq = getSequences().length;
+ AAFrequency.completeConsensus(consensusAnnotation, hconsensus, 0,
+ hconsensus.length, alignViewport.isIgnoreGapsConsensus(),
+ alignViewport.isShowSequenceLogo(), nseq);
+ }
+
+ /**
+ * Get the consensus data stored on the viewport.
+ *
+ * @return
+ */
+ protected Object[] getViewportConsensus()
+ {
+ // TODO convert ComplementConsensusThread to use Profile
+ return alignViewport.getSequenceConsensusHash();
+ }