Just fetch features for selected seqs
authoramwaterhouse <Andrew Waterhouse>
Fri, 14 Jul 2006 08:58:11 +0000 (08:58 +0000)
committeramwaterhouse <Andrew Waterhouse>
Fri, 14 Jul 2006 08:58:11 +0000 (08:58 +0000)
src/jalview/io/DasSequenceFeatureFetcher.java

index dc51617..1295520 100755 (executable)
@@ -50,8 +50,8 @@ import jalview.bin.Cache;
  */\r
 public class DasSequenceFeatureFetcher implements Runnable\r
 {\r
-  final AlignmentI dataset;\r
-  final AlignFrame af;\r
+  SequenceI [] sequences;\r
+  AlignFrame af;\r
   StringBuffer sbuffer = new StringBuffer();\r
   Vector selectedSources;\r
 \r
@@ -66,12 +66,12 @@ public class DasSequenceFeatureFetcher implements Runnable
    * @param align DOCUMENT ME!\r
    * @param ap DOCUMENT ME!\r
    */\r
-  public DasSequenceFeatureFetcher(AlignmentI align,\r
+  public DasSequenceFeatureFetcher(SequenceI [] sequences,\r
                                    AlignFrame af,\r
                                    Vector selectedSources)\r
   {\r
     this.selectedSources = selectedSources;\r
-    this.dataset = align.getDataset();\r
+    this.sequences = sequences;\r
     this.af = af;\r
 \r
     Thread thread = new Thread(this);\r
@@ -145,7 +145,7 @@ public class DasSequenceFeatureFetcher implements Runnable
    * @param SourceUrl\r
    * @param id\r
    */\r
-  protected void createFeatureFetcher(final Sequence seq,\r
+  protected void createFeatureFetcher(final SequenceI seq,\r
                                       final String sourceUrl,\r
                                       String id,\r
                                       String nickname)  {\r
@@ -262,11 +262,9 @@ public class DasSequenceFeatureFetcher implements Runnable
     try\r
     {\r
       int seqIndex = 0;\r
-      Vector sequences = dataset.getSequences();\r
-      while (seqIndex < sequences.size())\r
+      while (seqIndex < sequences.length)\r
       {\r
-          Sequence sequence = (Sequence) sequences.get(seqIndex);\r
-          Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequence.getDBRef(),\r
+          Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequences[seqIndex].getDBRef(),\r
               new String[]  {\r
               jalview.datamodel.DBRefSource.PDB,\r
               jalview.datamodel.DBRefSource.UNIPROT});\r
@@ -292,7 +290,7 @@ public class DasSequenceFeatureFetcher implements Runnable
                                     cs[l].getName());\r
 \r
 \r
-                    createFeatureFetcher(sequence,\r
+                    createFeatureFetcher(sequences[seqIndex],\r
                                          dasSource.getUrl(),\r
                                          ( (DBRefEntry) uprefs.get(j)).\r
                                          getAccessionId(),\r
@@ -305,19 +303,19 @@ public class DasSequenceFeatureFetcher implements Runnable
             {\r
               String id = null;\r
               // try and use the name as the sequence id\r
-              if (sequence.getName().indexOf("|") > -1)\r
+              if (sequences[seqIndex].getName().indexOf("|") > -1)\r
               {\r
-                id = sequence.getName().substring(\r
-                    sequence.getName().lastIndexOf("|") + 1);\r
+                id = sequences[seqIndex].getName().substring(\r
+                    sequences[seqIndex].getName().lastIndexOf("|") + 1);\r
               }\r
               else\r
               {\r
-                id = sequence.getName();\r
+                id = sequences[seqIndex].getName();\r
               }\r
               if (id != null)\r
               {\r
                 // Should try to call a general feature fetcher that queries many sources with name to discover applicable ID references\r
-                createFeatureFetcher(sequence,\r
+                createFeatureFetcher(sequences[seqIndex],\r
                                      dasSource.getUrl(),\r
                                      id,\r
                                      dasSource.getNickname());\r