From: Jim Procter Date: Fri, 30 Aug 2013 11:14:19 +0000 (+0100) Subject: JAL-1370 allow show unconserved to reflect differences from the current reference... X-Git-Tag: Jalview_2_9~108^2~27^2~5 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=28a4f823a8d3e6eae1a4569d8022c5a20fd0e3c7;p=jalview.git JAL-1370 allow show unconserved to reflect differences from the current reference seqeunce --- 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) {