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());
+ Class.forName("org.jmol.adapter.smarter.SmarterJmolAdapter");
jmolAvailable = true;
}
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)
- {
- 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