From 28a4f823a8d3e6eae1a4569d8022c5a20fd0e3c7 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Fri, 30 Aug 2013 12:14:19 +0100 Subject: [PATCH] JAL-1370 allow show unconserved to reflect differences from the current reference seqeunce --- src/jalview/appletgui/SequenceRenderer.java | 14 +++++++------- src/jalview/gui/SequenceRenderer.java | 11 +++++++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/jalview/appletgui/SequenceRenderer.java b/src/jalview/appletgui/SequenceRenderer.java index d444630..b048e91 100755 --- a/src/jalview/appletgui/SequenceRenderer.java +++ b/src/jalview/appletgui/SequenceRenderer.java @@ -201,7 +201,7 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer } char s = ' '; - + boolean srep = av.isDisplayReferenceSeq(); for (int i = start; i <= end; i++) { graphics.setColor(Color.black); @@ -226,9 +226,7 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer } if (currentSequenceGroup.getShowNonconserved()) { - // cheat - use this if we have a consensus for each group: s = - // getDisplayChar(currentSequenceGroup.getConsensus(), i, s, '.'); - s = getDisplayChar(av.getAlignmentConsensusAnnotation(), i, s, + s = getDisplayChar(srep, i, s, '.'); } } @@ -253,7 +251,7 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer } if (av.getShowUnconserved()) { - s = getDisplayChar(av.getAlignmentConsensusAnnotation(), i, s, + s = getDisplayChar(srep, i, s, '.'); } @@ -286,10 +284,12 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer } - private char getDisplayChar(AlignmentAnnotation consensus, int position, + private char getDisplayChar(final boolean usesrep, int position, char s, char c) { - char conschar = consensus.annotations[position].displayCharacter + // TODO - use currentSequenceGroup rather than alignemnt + // currentSequenceGroup.getConsensus() + char conschar = (usesrep) ? av.getAlignment().getSeqrep().getCharAt(position) : av.getAlignmentConsensusAnnotation().annotations[position].displayCharacter .charAt(0); if (conschar != '-' && s == conschar) { diff --git a/src/jalview/gui/SequenceRenderer.java b/src/jalview/gui/SequenceRenderer.java index a4325fe..2875f8d 100755 --- a/src/jalview/gui/SequenceRenderer.java +++ b/src/jalview/gui/SequenceRenderer.java @@ -287,6 +287,7 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer } else { + boolean srep = av.isDisplayReferenceSeq(); boolean getboxColour = false; for (int i = start; i <= end; i++) { @@ -332,7 +333,7 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer if (currentSequenceGroup.getShowNonconserved()) // todo optimize { // todo - use sequence group consensus - s = getDisplayChar(av.getAlignmentConsensusAnnotation(), i, s, + s = getDisplayChar(srep, i, s, '.'); } @@ -375,7 +376,7 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer } if (av.getShowUnconserved()) { - s = getDisplayChar(av.getAlignmentConsensusAnnotation(), i, s, + s = getDisplayChar(srep, i, s, '.'); } @@ -390,10 +391,12 @@ public class SequenceRenderer implements jalview.api.SequenceRenderer } } - private char getDisplayChar(AlignmentAnnotation consensus, int position, + private char getDisplayChar(final boolean usesrep, int position, char s, char c) { - char conschar = consensus.annotations[position].displayCharacter + // TODO - use currentSequenceGroup rather than alignemnt + // currentSequenceGroup.getConsensus() + char conschar = (usesrep) ? av.getAlignment().getSeqrep().getCharAt(position) : av.getAlignmentConsensusAnnotation().annotations[position].displayCharacter .charAt(0); if (conschar != '-' && s == conschar) { -- 1.7.10.2