X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fanalysis%2FSequenceIdMatcher.java;h=bedce3fd56c3834eaa5a0205a609fb7072cdcf80;hb=e07fc11d5aaf4d1237d83e5f7ea0909dea09902e;hp=1de93f2d8ebb7a95932bf49f85cb14adec59a66b;hpb=71b9e3e554ebd93a6920d89c6e42e7b8ad9b26ce;p=jalview.git
diff --git a/src/jalview/analysis/SequenceIdMatcher.java b/src/jalview/analysis/SequenceIdMatcher.java
index 1de93f2..bedce3f 100755
--- a/src/jalview/analysis/SequenceIdMatcher.java
+++ b/src/jalview/analysis/SequenceIdMatcher.java
@@ -1,20 +1,22 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * along with Jalview. If not, see
- * Title: - *
- * SequenceIdMatcher - *- * Description: - *
- * Routine which does approximate Sequence Id resolution by name using string + * Routines for approximate Sequence Id resolution by name using string * containment (on word boundaries) rather than equivalence. It also attempts to * resolve ties where no exact match is available by picking the the id closest * to the query. - *- * Copyright: Copyright (c) 2004 - *
- * - *- * Company: Dundee University - *
- * - * @author not attributable - * @version 1.0 */ public class SequenceIdMatcher { @@ -54,13 +39,20 @@ public class SequenceIdMatcher names = new Hashtable(); for (int i = 0; i < seqs.length; i++) { - names.put(new SeqIdName(seqs[i].getName()), seqs[i]); + // TODO: deal with ID collisions - SequenceI should be appended to list + // associated with this key. + names.put(new SeqIdName(seqs[i].getDisplayId(true)), seqs[i]); + SequenceI dbseq = seqs[i]; + while (dbseq.getDatasetSequence()!=null) + { + dbseq = dbseq.getDatasetSequence(); + } // add in any interesting identifiers - if (seqs[i].getDBRef()!=null) + if (dbseq.getDBRef() != null) { - DBRefEntry dbr[] = seqs[i].getDBRef(); - SeqIdName sid=null; - for (int r=0;r