+ match = (SequenceI) matches.elementAt(0);\r
+ matches.removeElementAt(0);\r
+ names.put(new SeqIdName(match.getName()), match);\r
+ int matchlen = match.getName().length();\r
+ int namlen = candName.id.length();\r
+ while (matches.size() > 0)\r
+ {\r
+ // look through for a better one.\r
+ SequenceI cand = (SequenceI) matches.elementAt(0);\r
+ names.put(new SeqIdName(cand.getName()), cand);\r
+ int candlen = cand.getName().length();\r
+ // keep the one with an id 'closer' to the given seqnam string\r
+ if (Math.abs(matchlen - namlen) > Math.abs(candlen - namlen) &&\r
+ candlen > matchlen)\r
+ {\r
+ match = cand;\r
+ matchlen = candlen;\r
+ }\r
+ }\r
+ return match;\r
+ }\r