JAL-1062 - recognise and split off the range qualifier in a DAS sequence fetch query
[jalview.git] / src / jalview / ws / DBRefFetcher.java
index 28ae25d..9565679 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)\r
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)\r
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle\r
  * \r
  * This file is part of Jalview.\r
  * \r
@@ -30,6 +30,7 @@ import jalview.gui.CutAndPasteTransfer;
 import jalview.gui.Desktop;\r
 import jalview.gui.IProgressIndicator;\r
 import jalview.gui.OOMWarning;\r
+import jalview.ws.dbsources.das.api.jalviewSourceI;\r
 \r
 import java.lang.reflect.Array;\r
 import java.util.Enumeration;\r
@@ -37,8 +38,6 @@ import java.util.Hashtable;
 import java.util.StringTokenizer;\r
 import java.util.Vector;\r
 \r
-import org.biojava.dasobert.dasregistry.DasSource;\r
-\r
 import uk.ac.ebi.picr.model.UPEntry;\r
 \r
 /**\r
@@ -124,15 +123,15 @@ public class DBRefFetcher implements Runnable
     {\r
       // af.featureSettings_actionPerformed(null);\r
       String[] defdb = null, otherdb = sfetcher\r
-              .getDbInstances(jalview.ws.dbsources.DasSequenceSource.class);\r
+              .getDbInstances(jalview.ws.dbsources.das.datamodel.DasSequenceSource.class);\r
       Vector selsources = new Vector(), dasselsrc = (af.featureSettings != null) ? af.featureSettings\r
-              .getSelectedSources()\r
-              : new jalview.gui.DasSourceBrowser().getSelectedSources();\r
+              .getSelectedSources() : new jalview.gui.DasSourceBrowser()\r
+              .getSelectedSources();\r
       Enumeration en = dasselsrc.elements();\r
       while (en.hasMoreElements())\r
       {\r
-        DasSource src = (DasSource) en.nextElement();\r
-        selsources.addElement(src.getNickname());\r
+        jalviewSourceI src = (jalviewSourceI) en.nextElement();\r
+        selsources.addElement(src.getTitle());\r
       }\r
       int osel = 0;\r
       for (int o = 0; otherdb != null && o < otherdb.length; o++)\r
@@ -188,14 +187,12 @@ public class DBRefFetcher implements Runnable
     }\r
     // append additional sources\r
     String[] otherdb = sfetcher\r
-            .getDbInstances(jalview.ws.dbsources.DasSequenceSource.class);\r
+            .getDbInstances(jalview.ws.dbsources.das.datamodel.DasSequenceSource.class);\r
     if (otherdb != null && otherdb.length > 0)\r
     {\r
       String[] newsrc = new String[dbSources.length + otherdb.length];\r
       System.arraycopy(dbSources, 0, newsrc, 0, dbSources.length);\r
-      System\r
-              .arraycopy(otherdb, 0, newsrc, dbSources.length,\r
-                      otherdb.length);\r
+      System.arraycopy(otherdb, 0, newsrc, dbSources.length, otherdb.length);\r
       dbSources = newsrc;\r
     }\r
   }\r
@@ -387,9 +384,7 @@ public class DBRefFetcher implements Runnable
               for (int j = 0; j < uprefs.length; j++)\r
               {\r
                 addSeqId(sequence, uprefs[j].getAccessionId());\r
-                queries\r
-                        .addElement(uprefs[j].getAccessionId()\r
-                                .toUpperCase());\r
+                queries.addElement(uprefs[j].getAccessionId().toUpperCase());\r
               }\r
             }\r
             else\r
@@ -407,8 +402,9 @@ public class DBRefFetcher implements Runnable
                   try\r
                   {\r
                     presp = picrClient\r
-                            .getUPIForAccession(token, null, picrClient\r
-                                    .getMappedDatabaseNames(), null, true);\r
+                            .getUPIForAccession(token, null,\r
+                                    picrClient.getMappedDatabaseNames(),\r
+                                    null, true);\r
                   } catch (Exception e)\r
                   {\r
                     System.err.println("Exception with Picr for '" + token\r
@@ -447,11 +443,10 @@ public class DBRefFetcher implements Runnable
     } // all databases have been queries.\r
     if (sbuffer.length() > 0)\r
     {\r
-      output\r
-              .setText("Your sequences have been verified against known sequence databases. Some of the ids have been\n"\r
-                      + "altered, most likely the start/end residue will have been updated.\n"\r
-                      + "Save your alignment to maintain the updated id.\n\n"\r
-                      + sbuffer.toString());\r
+      output.setText("Your sequences have been verified against known sequence databases. Some of the ids have been\n"\r
+              + "altered, most likely the start/end residue will have been updated.\n"\r
+              + "Save your alignment to maintain the updated id.\n\n"\r
+              + sbuffer.toString());\r
       Desktop.addInternalFrame(output, "Sequence names updated ", 600, 300);\r
       // The above is the dataset, we must now find out the index\r
       // of the viewed sequence\r
@@ -496,9 +491,9 @@ public class DBRefFetcher implements Runnable
       // taking into account all accessionIds and names in the file\r
       Vector sequenceMatches = new Vector();\r
       // look for corresponding accession ids\r
-      DBRefEntry[] entryRefs = jalview.util.DBRefUtils.selectRefs(entry\r
-              .getDBRef(), new String[]\r
-      { dbSource });\r
+      DBRefEntry[] entryRefs = jalview.util.DBRefUtils.selectRefs(\r
+              entry.getDBRef(), new String[]\r
+              { dbSource });\r
       if (entryRefs == null)\r
       {\r
         System.err\r