X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2FAnnotationRenderer.java;h=09152d69662e720be130742507c141dea6f4fdd3;hb=d1d2ea58719115718d0672a9f8fb85c48a908468;hp=6ed2b9fc2b54cdef02ec22e4738ec9053ddce1f9;hpb=345f55c548098dd216a33cd5a71d5f632a276ac4;p=jalview.git diff --git a/src/jalview/renderer/AnnotationRenderer.java b/src/jalview/renderer/AnnotationRenderer.java index 6ed2b9f..09152d6 100644 --- a/src/jalview/renderer/AnnotationRenderer.java +++ b/src/jalview/renderer/AnnotationRenderer.java @@ -240,7 +240,7 @@ public class AnnotationRenderer } // TODO extend annotation row to enable dynamic and static profile data to // be stored - if (aa.groupRef == null && aa.sequenceRef == null && av_renderProfile) + if (aa.groupRef == null && aa.sequenceRef == null) { return AAFrequency.extractProfile(hconsensus[column], av_ignoreGapsConsensus); @@ -262,7 +262,7 @@ public class AnnotationRenderer // to // be stored if (aa.groupRef == null && aa.sequenceRef == null - && av_renderProfile && hStrucConsensus != null + && hStrucConsensus != null && hStrucConsensus.length > column) { return StructureFrequency.extractProfile(hStrucConsensus[column], @@ -318,6 +318,8 @@ public class AnnotationRenderer boolean centreColLabels, centreColLabelsDef = av .getCentreColumnLabels(); boolean scaleColLabel = false; + AlignmentAnnotation consensusAnnot=av.getAlignmentConsensusAnnotation(),structConsensusAnnot=av.getAlignmentStrucConsensusAnnotation(); + boolean renderHistogram = true, renderProfile = true, normaliseProfile = false; BitSet graphGroupDrawn = new BitSet(); int charOffset = 0; // offset for a label @@ -331,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 || row == structConsensusAnnot) + { + 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) { @@ -674,7 +696,7 @@ public class AnnotationRenderer else if (row.graph == AlignmentAnnotation.BAR_GRAPH) { drawBarGraph(g, row, row_annotations, startRes, endRes, - row.graphMin, row.graphMax, y); + row.graphMin, row.graphMax, y, renderHistogram,renderProfile,normaliseProfile); } } } else { @@ -910,7 +932,7 @@ public class AnnotationRenderer public void drawBarGraph(Graphics g, AlignmentAnnotation _aa, Annotation[] aa_annotations, int sRes, int eRes, float min, - float max, int y) + float max, int y, boolean renderHistogram,boolean renderProfile,boolean normaliseProfile) { if (sRes > aa_annotations.length) { @@ -934,23 +956,6 @@ public class AnnotationRenderer int column; int aaMax = aa_annotations.length - 1; - boolean renderHistogram = true, renderProfile = true, normaliseProfile = false; - // if (aa.autoCalculated && aa.label.startsWith("Consensus")) - { - // TODO: generalise this to have render styles for consensus/profile data - if (_aa.groupRef != null) - { - renderHistogram = _aa.groupRef.isShowConsensusHistogram(); - renderProfile = _aa.groupRef.isShowSequenceLogo(); - normaliseProfile = _aa.groupRef.isNormaliseSequenceLogo(); - } - else - { - renderHistogram = av_renderHistogram; - renderProfile = av_renderProfile; - normaliseProfile = av_normaliseProfile; - } - } while (x < eRes - sRes) { column = sRes + x;