case invariant matching of seqeunce feature to sequence id string
[jalview.git] / src / jalview / datamodel / Alignment.java
index f36872e..3689433 100755 (executable)
@@ -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();