X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequenceGroup.java;h=76a350f9a757c4c9af615592420b5f7b0fd78c74;hb=1d6bdfa4ce1d88c055a257e542de6b8542144d91;hp=2bdd5f84f170d727e589511c12f0bf06c8542ca8;hpb=7abeaf76ba3913ccb95139df58b353bdde49429c;p=jalview.git diff --git a/src/jalview/datamodel/SequenceGroup.java b/src/jalview/datamodel/SequenceGroup.java index 2bdd5f8..76a350f 100755 --- a/src/jalview/datamodel/SequenceGroup.java +++ b/src/jalview/datamodel/SequenceGroup.java @@ -49,6 +49,10 @@ public class SequenceGroup int startRes = 0; int endRes = 0; Color outlineColour = Color.black; + public int thresholdTextColour = 0; + public Color textColour = Color.black; + public Color textColour2 = Color.white; + /** * Creates a new SequenceGroup object. @@ -119,6 +123,7 @@ public class SequenceGroup SequenceI [] seqs = new SequenceI[iSize]; SequenceI [] inorder = getSequencesInOrder(align); + for (int i = 0; i < iSize; i++) { SequenceI seq = inorder[i]; @@ -173,25 +178,27 @@ public class SequenceGroup return eres; } - public Vector getSequences(boolean includeHidden) + public Vector getSequences(Hashtable hiddenReps) { - if(!includeHidden) + if(hiddenReps == null) return sequences; else { Vector allSequences = new Vector(); - SequenceI seq; + SequenceI seq, seq2; for (int i = 0; i < sequences.size(); i++) { seq = (SequenceI) sequences.elementAt(i); allSequences.addElement(seq); - if (seq.getHiddenSequences() != null) + if (hiddenReps.containsKey(seq) ) { - for (int h = 0; h < seq.getHiddenSequences().getSize(false); h++) + SequenceGroup hsg = (SequenceGroup)hiddenReps.get(seq); + for (int h = 0; h < hsg.getSize(); h++) { - allSequences.addElement( - seq.getHiddenSequences().getSequenceAt(h) - ); + seq2 = hsg.getSequenceAt(h); + if (seq2 != seq + && !allSequences.contains(seq2)) + allSequences.addElement(seq2); } } } @@ -200,9 +207,9 @@ public class SequenceGroup } } - public SequenceI[] getSequencesAsArray(boolean includeHidden) + public SequenceI[] getSequencesAsArray(Hashtable hiddenReps) { - Vector tmp = getSequences(includeHidden); + Vector tmp = getSequences(hiddenReps); if(tmp==null) return null; SequenceI [] result = new SequenceI[tmp.size()]; @@ -316,7 +323,7 @@ public class SequenceGroup */ public void addSequence(SequenceI s, boolean recalc) { - if (!sequences.contains(s)) + if (s!=null && !sequences.contains(s)) { sequences.addElement(s); } @@ -337,7 +344,7 @@ public class SequenceGroup try { - cs.setConsensus(AAFrequency.calculate(sequences, 0, getWidth())); + cs.setConsensus(AAFrequency.calculate(sequences, startRes, endRes+1)); if (cs instanceof ClustalxColourScheme) { @@ -348,7 +355,7 @@ public class SequenceGroup { Conservation c = new Conservation(groupName, ResidueProperties.propHash, 3, sequences, - 0, getWidth()); + startRes, endRes+1); c.calculate(); c.verdict(false, 25); @@ -447,24 +454,9 @@ public class SequenceGroup * * @return DOCUMENT ME! */ - public int getSize(boolean includeHidden) + public int getSize() { - if(!includeHidden) return sequences.size(); - else - { - int total = sequences.size(); - SequenceI seq; - for (int i = 0; i < sequences.size(); i++) - { - seq = (SequenceI) sequences.elementAt(i); - if (seq.getHiddenSequences() != null) - { - total += seq.getHiddenSequences().getSize(false); - } - } - return total; - } } /**