X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fext%2Fjmol%2FJalviewJmolBinding.java;h=da514a21954dfe84495a0904fe447f00e82a7520;hb=ce89ec35928a6cb2f05a655c44c39a0249beb2d6;hp=8e1ede488cc885c3a5f43fa936498b6fb7e967b5;hpb=b4f141d24f090c73e5608214cef2e1dd2c3e21ad;p=jalview.git diff --git a/src/jalview/ext/jmol/JalviewJmolBinding.java b/src/jalview/ext/jmol/JalviewJmolBinding.java index 8e1ede4..da514a2 100644 --- a/src/jalview/ext/jmol/JalviewJmolBinding.java +++ b/src/jalview/ext/jmol/JalviewJmolBinding.java @@ -30,6 +30,7 @@ import jalview.api.AlignmentViewPanel; import jalview.api.FeatureRenderer; import jalview.api.SequenceRenderer; import jalview.api.SequenceStructureBinding; +import jalview.api.StructureSelectionManagerProvider; import jalview.datamodel.*; import jalview.structure.*; import jalview.io.*; @@ -45,7 +46,7 @@ import jalview.schemes.*; public abstract class JalviewJmolBinding implements StructureListener, JmolStatusListener, SequenceStructureBinding, - JmolSelectionListener, ComponentListener + JmolSelectionListener, ComponentListener, StructureSelectionManagerProvider { /** @@ -128,13 +129,14 @@ public abstract class JalviewJmolBinding implements StructureListener, */ public SequenceI[][] sequence; - StructureSelectionManager ssm; + public StructureSelectionManager ssm; public JmolViewer viewer; - public JalviewJmolBinding(PDBEntry[] pdbentry, SequenceI[][] sequenceIs, + public JalviewJmolBinding(StructureSelectionManager ssm, PDBEntry[] pdbentry, SequenceI[][] sequenceIs, String[][] chains, String protocol) { + this.ssm = ssm; this.sequence = sequenceIs; this.chains = chains; this.pdbentry = pdbentry; @@ -152,8 +154,9 @@ public abstract class JalviewJmolBinding implements StructureListener, */ } - public JalviewJmolBinding(JmolViewer viewer2) + public JalviewJmolBinding(StructureSelectionManager ssm, JmolViewer viewer2) { + this.ssm = ssm; viewer = viewer2; viewer.setJmolStatusListener(this); viewer.addSelectionListener(this); @@ -227,8 +230,7 @@ public abstract class JalviewJmolBinding implements StructureListener, { viewer.setModeMouse(org.jmol.viewer.JmolConstants.MOUSE_NONE); // remove listeners for all structures in viewer - StructureSelectionManager.getStructureSelectionManager() - .removeStructureViewerListener(this, this.getPdbFile()); + ssm.removeStructureViewerListener(this, this.getPdbFile()); // and shut down jmol viewer.evalStringQuiet("zap"); viewer.setJmolStatusListener(null); @@ -568,7 +570,8 @@ public abstract class JalviewJmolBinding implements StructureListener, } AlignmentI alignment = alignmentv.getAlignment(); - for (String cbyseq : JmolCommands.getColourBySequenceCommand(ssm, files, sequence, sr, fr, alignment)) { + for (jalview.structure.StructureMappingcommandSet cpdbbyseq: JmolCommands.getColourBySequenceCommand(ssm, files, sequence, sr, fr, alignment)) + for (String cbyseq : cpdbbyseq.commands) { evalStateCommand(cbyseq); } } @@ -1044,7 +1047,6 @@ public abstract class JalviewJmolBinding implements StructureListener, chainFile = new Hashtable(); boolean notifyLoaded = false; String[] modelfilenames = getPdbFile(); - ssm = StructureSelectionManager.getStructureSelectionManager(); // first check if we've lost any structures if (oldmodels != null && oldmodels.length > 0) { @@ -1532,4 +1534,14 @@ public abstract class JalviewJmolBinding implements StructureListener, chains[pe] = null; } } + /** + * + * @param pdbfile + * @return text report of alignment between pdbfile and any associated alignment sequences + */ + public String printMapping(String pdbfile) + { + return ssm.printMapping(pdbfile); + } + }