JAL-1347 identify and set rendering settings for consensus annotation rows
authorJim Procter <jprocter@compbio.dundee.ac.uk>
Thu, 11 Jul 2013 12:57:03 +0000 (13:57 +0100)
committerJim Procter <jprocter@compbio.dundee.ac.uk>
Thu, 11 Jul 2013 12:57:03 +0000 (13:57 +0100)
JAL-966 Note  - should abstract this logic even further away in Jalview v3

src/jalview/renderer/AnnotationRenderer.java

index f492d9c..8f25e77 100644 (file)
@@ -333,6 +333,26 @@ public class AnnotationRenderer
     for (int i = 0; i < aa.length; i++)
     {
       AlignmentAnnotation row = aa[i];
+      {
+        // check if this is a consensus annotation row and set the display settings appropriately
+        // TODO: generalise this to have render styles for consensus/profile
+        // data
+        if (row.groupRef != null && row == row.groupRef.getConsensus())
+        {
+          renderHistogram = row.groupRef.isShowConsensusHistogram();
+          renderProfile = row.groupRef.isShowSequenceLogo();
+          normaliseProfile = row.groupRef.isNormaliseSequenceLogo();
+        }
+        else if (row == consensusAnnot)
+        {
+          renderHistogram = av_renderHistogram;
+          renderProfile = av_renderProfile;
+          normaliseProfile = av_normaliseProfile;
+        } else {
+          renderHistogram = true;
+          // don't need to set render/normaliseProfile since they are not currently used in any other annotation track renderer
+        }
+      }
       Annotation[] row_annotations = row.annotations;
       if (!row.visible)
       {