import java.awt.*;
import java.awt.event.*;
+import java.util.*;
import jalview.appletgui.*;
import jalview.datamodel.*;
{
try
{
- Class.forName("org.jmol.adapter.smarter.SmarterJmolAdapter",
- true, Thread.currentThread().getContextClassLoader());
-
- jmolAvailable = true;
+ if (!System.getProperty("java.version").startsWith("1.1"))
+ {
+ Class.forName("org.jmol.adapter.smarter.SmarterJmolAdapter");
+ jmolAvailable = true;
+ }
}
catch (java.lang.ClassNotFoundException ex)
{
- System.out.println("Jmol not found - Using MCview for structures");
+ System.out.println("Jmol not available - Using MCview for structures");
}
int r = 255;
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);
pdb.setFile(param);
- String sequence = applet.getParameter("PDBSEQ");
-
- if (sequence != null)
+ for(int i=0; i<seqs.length; i++)
{
- 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);
+ ((Sequence)seqs[i]).addPDBId(pdb);
}
+ if (jmolAvailable)
+ new jalview.appletgui.AppletJmol(pdb,
+ seqs,
+ currentAlignFrame.alignPanel,
+ protocol);
+ else
+
+ new MCview.AppletPDBViewer(pdb,
+ seqs,
+ currentAlignFrame.alignPanel,
+ protocol);
}
}
else