X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FAlignment.java;h=3689433aefcdcba248a8c16fdb0d005f187a436f;hb=e1c9c652059a67ee96f9fc5f6617fd5d604cbdbb;hp=ba65fd796566b6be25324a2ead43af927325d2af;hpb=e5edd3d9da88468dc7143f7e46cf2ebbe4e3393c;p=jalview.git diff --git a/src/jalview/datamodel/Alignment.java b/src/jalview/datamodel/Alignment.java index ba65fd7..3689433 100755 --- a/src/jalview/datamodel/Alignment.java +++ b/src/jalview/datamodel/Alignment.java @@ -336,11 +336,25 @@ public class Alignment /** */ public SequenceI findName(String name) { - int i = 0; + return findName(name,false); + } + /* (non-Javadoc) + * @see jalview.datamodel.AlignmentI#findName(java.lang.String, boolean) + */ + public SequenceI findName(String token, boolean b) + { + + int i = 0; + SequenceI sq=null; + String sqname=null; while (i < sequences.size()) { - if (getSequenceAt(i).getName().equals(name)) + sq = getSequenceAt(i); + sqname = sq.getName(); + if (sqname.equals(token) // exact match + || (b && // allow imperfect matches - case varies + (sqname.equalsIgnoreCase(token)))) { return getSequenceAt(i); } @@ -350,7 +364,6 @@ public class Alignment return null; } - public SequenceI[] findSequenceMatch(String name) { Vector matches = new Vector(); @@ -617,7 +630,7 @@ public class Alignment // Create a new dataset for this alignment. // Can only be done once, if dataset is not null // This will not be performed - Sequence[] seqs = new Sequence[getHeight()]; + SequenceI[] seqs = new SequenceI[getHeight()]; SequenceI currentSeq; for (int i = 0; i < getHeight(); i++) { @@ -628,17 +641,7 @@ public class Alignment } else { - seqs[i] = new Sequence(currentSeq.getName(), - AlignSeq.extractGaps( - jalview.util.Comparison.GapChars, - currentSeq.getSequenceAsString() - ), - currentSeq.getStart(), - currentSeq.getEnd()); - seqs[i].sequenceFeatures = currentSeq.getSequenceFeatures(); - seqs[i].setDescription(currentSeq.getDescription()); - getSequenceAt(i).setSequenceFeatures(null); - getSequenceAt(i).setDatasetSequence(seqs[i]); + seqs[i] = currentSeq.createDatasetSequence(); } }