X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FSequenceIdMatcher.java;fp=src%2Fjalview%2Fanalysis%2FSequenceIdMatcher.java;h=70defb019a1da84c2b69bcb93359e294bef2e34d;hb=4ad19b786f19aeadaf7a841e43ff8e490a39589d;hp=b89287c3ed133d3bc77b2eb5ced3425dfe2b7416;hpb=340055aeac7c0be1fe8cccf4aaa8646928c8e78c;p=jalview.git diff --git a/src/jalview/analysis/SequenceIdMatcher.java b/src/jalview/analysis/SequenceIdMatcher.java index b89287c..70defb0 100755 --- a/src/jalview/analysis/SequenceIdMatcher.java +++ b/src/jalview/analysis/SequenceIdMatcher.java @@ -46,7 +46,7 @@ public class SequenceIdMatcher } /** - * add more sequences to this matcher - also used by the constructor + * Adds sequences to this matcher * * @param seqs */ @@ -54,26 +54,36 @@ public class SequenceIdMatcher { for (SequenceI seq : seqs) { - // TODO: deal with ID collisions - SequenceI should be appended to list - // associated with this key. - names.put(new SeqIdName(seq.getDisplayId(true)), seq); - SequenceI dbseq = seq; - while (dbseq.getDatasetSequence() != null) - { - dbseq = dbseq.getDatasetSequence(); - } - // add in any interesting identifiers - if (dbseq.getDBRefs() != null) + add(seq); + } + } + + /** + * Adds one sequence to this matcher + * + * @param seq + */ + public void add(SequenceI seq) + { + // TODO: deal with ID collisions - SequenceI should be appended to list + // associated with this key. + names.put(new SeqIdName(seq.getDisplayId(true)), seq); + SequenceI dbseq = seq; + while (dbseq.getDatasetSequence() != null) + { + dbseq = dbseq.getDatasetSequence(); + } + // add in any interesting identifiers + if (dbseq.getDBRefs() != null) + { + DBRefEntry dbr[] = dbseq.getDBRefs(); + SeqIdName sid = null; + for (int r = 0; r < dbr.length; r++) { - DBRefEntry dbr[] = dbseq.getDBRefs(); - SeqIdName sid = null; - for (int r = 0; r < dbr.length; r++) + sid = new SeqIdName(dbr[r].getAccessionId()); + if (!names.containsKey(sid)) { - sid = new SeqIdName(dbr[r].getAccessionId()); - if (!names.containsKey(sid)) - { - names.put(sid, seq); - } + names.put(sid, seq); } } }