1 package jalview.appletgui;
3 import java.util.BitSet;
4 import java.util.Hashtable;
5 import java.util.Vector;
7 import org.jmol.api.JmolViewer;
9 import jalview.api.FeatureRenderer;
10 import jalview.api.SequenceRenderer;
11 import jalview.datamodel.PDBEntry;
12 import jalview.datamodel.SequenceI;
13 import jalview.ext.jmol.JalviewJmolBinding;
16 * bind an alignment view to an external Jmol instance.
20 public class ExtJmol extends JalviewJmolBinding
23 private AlignmentPanel ap;
25 protected ExtJmol(jalview.appletgui.AlignFrame alframe, PDBEntry[] pdbentry, SequenceI[][] seq, String[][] chains,
28 super(pdbentry, seq, chains, protocol);
31 public ExtJmol(JmolViewer viewer, AlignmentPanel alignPanel,
37 notifyFileLoaded(null, null, null, null, 0);
40 public void updateColours(Object source)
43 // TODO Auto-generated method stub
47 public void showUrl(String arg0)
49 showUrl(arg0, "jmol");
52 public FeatureRenderer getFeatureRenderer()
54 if (ap.av.showSequenceFeatures)
56 return ap.getFeatureRenderer();
64 public SequenceRenderer getSequenceRenderer()
66 return ap.getSequenceRenderer();
69 public void notifyScriptTermination(String strStatus, int msWalltime)
74 public void sendConsoleEcho(String strEcho)
79 public void sendConsoleMessage(String strStatus)
84 public void showUrl(String url, String target)
86 ap.alignFrame.showURL(url, target);
89 public void refreshGUI()
94 public void selectionChanged(BitSet arg0)
96 System.out.println(arg0);
99 public void refreshPdbEntries()
101 Vector pdbe = new Vector();
102 Hashtable fileids = new Hashtable();
103 SequenceI[] sq = ap.av.getAlignment().getSequencesArray();
104 for (int s=0;s<sq.length;s++)
106 Vector pdbids = sq[s].getPDBId();
109 for (int pe=0,peSize=pdbids.size(); pe<peSize; pe++)
111 PDBEntry pentry = (PDBEntry) pdbids.elementAt(pe);
112 if (!fileids.containsKey(pentry.getId())) {
113 pdbe.addElement(pentry);
118 pdbentry = new PDBEntry[pdbe.size()];
119 for (int pe=0;pe<pdbe.size(); pe++)
121 pdbentry[pe] = (PDBEntry) pdbe.elementAt(pe);