Remove start end for now??
[jalview.git] / src / jalview / io / DasSequenceFeatureFetcher.java
index 70af276..1e07c49 100755 (executable)
@@ -83,7 +83,8 @@ public class DasSequenceFeatureFetcher implements Runnable
       DasCoordinateSystem[] coords = source.getCoordinateSystem();\r
       for (int c = 0; c < coords.length; c++)\r
       {\r
-        if (coords[c].getName().equalsIgnoreCase("UniProt"))\r
+        System.out.println(coords[c].getName());\r
+        if (coords[c].getName().indexOf("UniProt")>-1)\r
         {\r
           uniprotCount++;\r
           break;\r
@@ -94,13 +95,14 @@ public class DasSequenceFeatureFetcher implements Runnable
     int refCount = 0;\r
     for(int i=0; i<sequences.length; i++)\r
     {\r
-      if(sequences[i].getDBRef()!=null)\r
+      DBRefEntry [] dbref = sequences[i].getDBRef();\r
+      if(dbref!=null)\r
       {\r
-        for(int j=0; j<sequences[i].getDBRef().size(); j++)\r
+        for(int j=0; j<dbref.length; j++)\r
         {\r
-          System.out.println(sequences[i].getDBRef().elementAt(j)\r
+          System.out.println(dbref[j].getSource()\r
                              +" "+jalview.datamodel.DBRefSource.UNIPROT);\r
-          if(sequences[i].getDBRef().elementAt(j)\r
+          if(dbref[j].getSource()\r
              .equals(jalview.datamodel.DBRefSource.UNIPROT))\r
           {\r
             System.out.println("got a match");\r
@@ -210,7 +212,8 @@ public class DasSequenceFeatureFetcher implements Runnable
   protected void createFeatureFetcher(final SequenceI seq,\r
                                       final String sourceUrl,\r
                                       String id,\r
-                                      String nickname)  {\r
+                                      String nickname)\r
+  {\r
          //////////////\r
          /// fetch DAS features\r
           final Das1Source source = new Das1Source();\r
@@ -220,13 +223,29 @@ public class DasSequenceFeatureFetcher implements Runnable
 \r
           Cache.log.debug("new Das Feature Fetcher for " + id + " querying " +\r
                           sourceUrl);\r
+\r
           if (id != null && id.length() > 0)\r
           {\r
             setThreadsRunning(+1);\r
 \r
+            int start=seq.getStart(), end = seq.getEnd();\r
+\r
+            if(af.getViewport().getSelectionGroup()!=null)\r
+            {\r
+              SequenceI tmp = af.getViewport().getAlignment().findName(seq.getName());\r
+              start = tmp.findPosition(\r
+              af.getViewport().getSelectionGroup().getStartRes()\r
+                  );\r
+\r
+              end = tmp.findPosition(\r
+                 af.getViewport().getSelectionGroup().getEndRes()\r
+                 );\r
+            }\r
+\r
             FeatureThread fetcher = new FeatureThread(id\r
-               +  ":" + seq.getStart() + "," +seq.getEnd()\r
-                 , source);\r
+                                                   //  +  ":" + start + "," + end,\r
+                                                      , source);\r
+\r
 \r
             fetcher.addFeatureListener(new FeatureListener()\r
             {\r
@@ -326,7 +345,7 @@ public class DasSequenceFeatureFetcher implements Runnable
       int seqIndex = 0;\r
       while (seqIndex < sequences.length)\r
       {\r
-          Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequences[seqIndex].getDBRef(),\r
+          DBRefEntry [] uprefs = jalview.util.DBRefUtils.selectRefs(sequences[seqIndex].getDBRef(),\r
               new String[]  {\r
               jalview.datamodel.DBRefSource.PDB,\r
               jalview.datamodel.DBRefSource.UNIPROT});\r
@@ -338,15 +357,14 @@ public class DasSequenceFeatureFetcher implements Runnable
             if (uprefs != null)\r
             {\r
               // we know the id for this entry, so don't note its ID in the unknownSequences list\r
-              for (int j = 0;  j < uprefs.size(); j++)\r
+              for (int j = 0;  j < uprefs.length; j++)\r
               {\r
 \r
                 // Will have to pass any mapping information to the fetcher - the start/end for the DBRefEntry may not be the same as the sequence's start/end\r
                 org.biojava.dasobert.dasregistry.DasCoordinateSystem cs[] = dasSource.getCoordinateSystem();\r
                 for (int l=0; l<cs.length; l++)\r
                 {\r
-                  if (jalview.util.DBRefUtils.isDasCoordinateSystem(cs[l].getName(), (DBRefEntry)\r
-                      uprefs.get(j)))\r
+                  if (jalview.util.DBRefUtils.isDasCoordinateSystem(cs[l].getName(), uprefs[j]))\r
                   {\r
                     Cache.log.debug("Launched fetcher for coordinate system " +\r
                                     cs[l].getName());\r
@@ -354,8 +372,7 @@ public class DasSequenceFeatureFetcher implements Runnable
 \r
                     createFeatureFetcher(sequences[seqIndex],\r
                                          dasSource.getUrl(),\r
-                                         ( (DBRefEntry) uprefs.get(j)).\r
-                                         getAccessionId(),\r
+                                          uprefs[j].getAccessionId(),\r
                                          dasSource.getNickname());\r
                   }\r
                 }\r