X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fdatamodel%2FSequenceGroup.java;h=49f270d363f1510bedcd151029cbee617ad6a165;hb=057425f8881d0e8986e9e7a8004b709e42334f34;hp=33739aabb69a88d2f776aafed7426edc4912cfc5;hpb=e0903f3de53b3047ce57fda93103d80ac46a3db5;p=jalview.git diff --git a/src/jalview/datamodel/SequenceGroup.java b/src/jalview/datamodel/SequenceGroup.java index 33739aa..49f270d 100755 --- a/src/jalview/datamodel/SequenceGroup.java +++ b/src/jalview/datamodel/SequenceGroup.java @@ -47,6 +47,11 @@ public class SequenceGroup boolean colourText = false; /** + * after Olivier's non-conserved only character display + */ + boolean showUnconserved = false; + + /** * group members */ private Vector sequences = new Vector(); @@ -118,8 +123,15 @@ public class SequenceGroup { if (seqsel!=null) { - sequences=new Vector(seqsel.sequences); - groupName = new String(seqsel.groupName); + sequences=new Vector(); + Enumeration sq = seqsel.sequences.elements(); + while (sq.hasMoreElements()) { + sequences.addElement(sq.nextElement()); + }; + if (seqsel.groupName!=null) + { + groupName = new String(seqsel.groupName); + } displayBoxes = seqsel.displayBoxes; displayText = seqsel.displayText; colourText = seqsel.colourText; @@ -128,7 +140,6 @@ public class SequenceGroup cs =seqsel.cs; if (seqsel.description!=null) description = new String(seqsel.description); - groupName = new String(seqsel.groupName); hidecols = seqsel.hidecols; hidereps = seqsel.hidereps; idColour = seqsel.idColour; @@ -680,11 +691,12 @@ public class SequenceGroup /** * - * returns the sequences in the group ordered by the ordering given by al - * + * returns the sequences in the group ordered by the ordering given by al. + * this used to return an array with null entries regardless, new behaviour is below. + * TODO: verify that this does not affect use in applet or application * @param al * Alignment - * @return SequenceI[] + * @return SequenceI[] intersection of sequences in group with al, ordered by al, or null if group does not intersect with al */ public SequenceI[] getSequencesInOrder(AlignmentI al) { @@ -701,7 +713,20 @@ public class SequenceGroup seqs[index++] = al.getSequenceAt(i); } } - + if (index==0) + { + return null; + } + if (index=0) + { + seqs[index] = dummy[index]; + dummy[index] = null; + } + } return seqs; } @@ -810,4 +835,27 @@ public class SequenceGroup } return sgroup; } + + /** + * @return the showUnconserved + */ + public boolean getShowunconserved() + { + return showUnconserved; + } + + /** + * @param showUnconserved the showUnconserved to set + */ + public void setShowunconserved(boolean displayNonconserved) + { + this.showUnconserved = displayNonconserved; + } + + public AlignmentAnnotation getConsensus() + { + // TODO get or calculate and get consensus annotation row for this group + this.conserve.getConsSequence(); + return null; + } }