X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2FAnnotationRenderer.java;h=e360ba4fc109928930984bc1ce1a0a4a6e4bf7b8;hb=60403f610c291791bf7c58f9c7232206469687cd;hp=23726dfb6d859d0b93998ef821bc4dedbdae2df9;hpb=b206034f1de94ad084025b0d3c1db8cef31e47e4;p=jalview.git diff --git a/src/jalview/renderer/AnnotationRenderer.java b/src/jalview/renderer/AnnotationRenderer.java index 23726df..e360ba4 100644 --- a/src/jalview/renderer/AnnotationRenderer.java +++ b/src/jalview/renderer/AnnotationRenderer.java @@ -379,6 +379,8 @@ public class AnnotationRenderer boolean centreColLabels, centreColLabelsDef = av .getCentreColumnLabels(); boolean scaleColLabel = false; + AlignmentAnnotation consensusAnnot=av.getAlignmentConsensusAnnotation(); + boolean renderHistogram = true, renderProfile = true, normaliseProfile = false; BitSet graphGroupDrawn = new BitSet(); int charOffset = 0; // offset for a label @@ -392,6 +394,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) { @@ -1132,7 +1154,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 { @@ -1370,7 +1392,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) { @@ -1394,23 +1416,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;