From cf8e95cb72c90c73963816ca71856ba1ab7e1d99 Mon Sep 17 00:00:00 2001 From: jprocter <Jim Procter> Date: Thu, 9 Dec 2010 15:28:45 +0000 Subject: [PATCH] javadoc and additional convenience method for JAL-716 --- src/jalview/datamodel/SequenceGroup.java | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/jalview/datamodel/SequenceGroup.java b/src/jalview/datamodel/SequenceGroup.java index be40bce..f045555 100755 --- a/src/jalview/datamodel/SequenceGroup.java +++ b/src/jalview/datamodel/SequenceGroup.java @@ -627,10 +627,9 @@ public class SequenceGroup } /** - * DOCUMENT ME! + * Set the first column selected by this group. Runs from 0<=i<N_cols * * @param i - * DOCUMENT ME! */ public void setStartRes(int i) { @@ -638,10 +637,9 @@ public class SequenceGroup } /** - * DOCUMENT ME! + * Set the groups last selected column. Runs from 0<=i<N_cols * * @param i - * DOCUMENT ME! */ public void setEndRes(int i) { @@ -794,23 +792,39 @@ public class SequenceGroup */ public SequenceI[] getSequencesInOrder(AlignmentI al) { + return getSequencesInOrder(al, true); + } + /** + * return an array representing the intersection of the group with al, optionally returning an array the size of al.getHeight() + * where nulls mark the non-intersected sequences + * @param al + * @param trim + * @return null or array + */ + public SequenceI[] getSequencesInOrder(AlignmentI al, boolean trim) + { int sSize = sequences.size(); int alHeight = al.getHeight(); - SequenceI[] seqs = new SequenceI[sSize]; + SequenceI[] seqs = new SequenceI[(trim) ? sSize : alHeight]; int index = 0; for (int i = 0; i < alHeight && index < sSize; i++) { if (sequences.contains(al.getSequenceAt(i))) { - seqs[index++] = al.getSequenceAt(i); + seqs[(trim) ? index : i] = al.getSequenceAt(i); + index++; } } if (index == 0) { return null; } + if (!trim) + { + return seqs; + } if (index < seqs.length) { SequenceI[] dummy = seqs; -- 1.7.10.2