Updated PDB loading params
authoramwaterhouse <Andrew Waterhouse>
Tue, 27 Mar 2007 09:02:34 +0000 (09:02 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 27 Mar 2007 09:02:34 +0000 (09:02 +0000)
src/jalview/bin/JalviewLite.java

index 2a715a6..df82b5f 100755 (executable)
@@ -22,6 +22,7 @@ import java.applet.*;
 
 import java.awt.*;
 import java.awt.event.*;
+import java.util.*;
 
 import jalview.appletgui.*;
 import jalview.datamodel.*;
@@ -158,8 +159,7 @@ public class JalviewLite
   {
     try
     {
-      Class.forName("org.jmol.adapter.smarter.SmarterJmolAdapter",
-                    true, Thread.currentThread().getContextClassLoader());
+      Class.forName("org.jmol.adapter.smarter.SmarterJmolAdapter");
 
       jmolAvailable = true;
     }
@@ -512,6 +512,36 @@ public class JalviewLite
 
           PDBEntry pdb = new PDBEntry();
 
+          String seqstring;
+          SequenceI [] seqs = null;
+
+          if(param.indexOf(" ")>-1)
+          {
+            seqstring = param.substring(param.indexOf(" ")+1);
+            param = param.substring(0, param.indexOf(" "));
+            StringTokenizer st = new StringTokenizer(seqstring);
+            Vector tmp = new Vector();
+            while(st.hasMoreTokens())
+            {
+              tmp.addElement((Sequence) currentAlignFrame.
+                getAlignViewport().getAlignment().
+                findName(st.nextToken()));
+            }
+
+            seqs = new SequenceI[tmp.size()];
+            tmp.copyInto(seqs);
+          }
+          else
+          {
+            String sequence = applet.getParameter("PDBSEQ");
+            if (sequence != null)
+              seqs = new SequenceI[]
+                  {
+                  (Sequence) currentAlignFrame.
+                  getAlignViewport().getAlignment().
+                  findName(sequence)};
+          }
+
           if (!inArchive(param) || jmolAvailable)
           {
             param = addProtocol(param);
@@ -519,29 +549,18 @@ public class JalviewLite
 
           pdb.setFile(param);
 
-          String sequence = applet.getParameter("PDBSEQ");
-
-          if (sequence != null)
-          {
-            if (jmolAvailable)
-              new jalview.appletgui.AppletJmol(pdb,
-                                               new SequenceI[]
-                                               { (Sequence) currentAlignFrame.
-                                               getAlignViewport().getAlignment().
-                                               findName(sequence)},
-                                               currentAlignFrame.alignPanel,
-                                               protocol);
-            else
 
-              new MCview.AppletPDBViewer(pdb,
-                                         new SequenceI[]
-                                         { (Sequence) currentAlignFrame.
-                                         getAlignViewport().getAlignment().
-                                         findName(sequence)},
-                                         currentAlignFrame.alignPanel,
-                                         protocol);
-          }
+          if (jmolAvailable)
+            new jalview.appletgui.AppletJmol(pdb,
+                                             seqs,
+                                             currentAlignFrame.alignPanel,
+                                             protocol);
+          else
 
+            new MCview.AppletPDBViewer(pdb,
+                                       seqs,
+                                       currentAlignFrame.alignPanel,
+                                       protocol);
         }
       }
       else