X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fjmol%2FJalviewJmolBinding.java;h=3f0847b21f2507e695620764add6e41683dc91b8;hb=776d0215fb7a0935b228670f1d2a0e880921128e;hp=c7496df9b4346db53ba611e5d2a3da5261b9d091;hpb=c37b687de83b672fb6585db5fcd93189e3582139;p=jalview.git diff --git a/src/jalview/ext/jmol/JalviewJmolBinding.java b/src/jalview/ext/jmol/JalviewJmolBinding.java index c7496df..3f0847b 100644 --- a/src/jalview/ext/jmol/JalviewJmolBinding.java +++ b/src/jalview/ext/jmol/JalviewJmolBinding.java @@ -28,6 +28,7 @@ import jalview.datamodel.ColumnSelection; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import jalview.io.AppletFormatAdapter; +import jalview.io.StructureFile; import jalview.schemes.ColourSchemeI; import jalview.schemes.ResidueProperties; import jalview.structure.AtomSpec; @@ -63,11 +64,6 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel implements JmolStatusListener, JmolSelectionListener, ComponentListener { - /* - * state flag used to check if the Jmol viewer's paint method can be called - */ - private boolean finishedInit = false; - boolean allChainsSelected = false; /* @@ -236,10 +232,9 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel public void superposeStructures(AlignmentI alignment, int refStructure, ColumnSelection hiddenCols) { - superposeStructures(new AlignmentI[] - { alignment }, new int[] - { refStructure }, new ColumnSelection[] - { hiddenCols }); + superposeStructures(new AlignmentI[] { alignment }, + new int[] { refStructure }, + new ColumnSelection[] { hiddenCols }); } /** @@ -259,8 +254,17 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel public void superposeStructures(AlignmentI[] _alignment, int[] _refStructure, ColumnSelection[] _hiddenCols) { + while (viewer.isScriptExecuting()) + { + try + { + Thread.sleep(10); + } catch (InterruptedException i) + { + } + ; + } String[] files = getPdbFile(); - if (!waitForFileLoad(files)) { return; @@ -272,7 +276,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel String nSeconds = " "; if (files.length > 10) { - nSeconds = " 0.00001 "; + nSeconds = " 0.005 "; } else { @@ -281,7 +285,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } // see JAL-1345 - should really automatically turn off the animation for // large numbers of structures, but Jmol doesn't seem to allow that. - nSeconds = " "; + // nSeconds = " "; // union of all aligned positions are collected together. for (int a = 0; a < _alignment.length; a++) { @@ -454,8 +458,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel + selectioncom.toString() + "); cartoons; "); // selcom.append("; ribbons; "); String cmdString = command.toString(); - System.out -.println("Superimpose command(s):\n" + cmdString); + System.out.println("Superimpose command(s):\n" + cmdString); evalStateCommand(cmdString); } @@ -512,7 +515,8 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } AlignmentI alignment = alignmentv.getAlignment(); - for (jalview.structure.StructureMappingcommandSet cpdbbyseq : getColourBySequenceCommands(files, sr, fr, alignment)) + for (jalview.structure.StructureMappingcommandSet cpdbbyseq : getColourBySequenceCommands( + files, sr, fr, alignment)) { for (String cbyseq : cpdbbyseq.commands) { @@ -532,10 +536,8 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel String[] files, SequenceRenderer sr, FeatureRenderer fr, AlignmentI alignment) { - return JmolCommands - .getColourBySequenceCommand(getSsm(), files, getSequence(), sr, - fr, - alignment); + return JmolCommands.getColourBySequenceCommand(getSsm(), files, + getSequence(), sr, fr, alignment); } /** @@ -551,6 +553,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel System.out.println("JMOL CREATE IMAGE"); } + @Override public String createImage(String fileName, String type, Object textOrBytes, int quality) { @@ -558,6 +561,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel return null; } + @Override public String eval(String strEval) { // System.out.println(strEval); @@ -568,11 +572,13 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel // End StructureListener // ////////////////////////// + @Override public float[][] functionXY(String functionName, int x, int y) { return null; } + @Override public float[][][] functionXYZ(String functionName, int nx, int ny, int nz) { // TODO Auto-generated method stub @@ -588,8 +594,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } // TODO: verify atomIndex is selecting correct model. // return new Color(viewer.getAtomArgb(atomIndex)); Jmol 12.2.4 - int colour = viewer.ms.at[atomIndex] - .atomPropertyInt(T.color); + int colour = viewer.ms.at[atomIndex].atomPropertyInt(T.color); return new Color(colour); } @@ -667,6 +672,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel // applet path with docroot - discard as format won't match pdbfile mset[0] = m; } + _modelFileNameMap[0] = 0; // filename index for first model is always 0. } int j = 1; for (int i = 1; i < mset.length; i++) @@ -736,6 +742,11 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel { if (atoms != null) { + if (resetLastRes.length() > 0) + { + viewer.evalStringQuiet(resetLastRes.toString()); + resetLastRes.setLength(0); + } for (AtomSpec atom : atoms) { highlightAtom(atom.getAtomIndex(), atom.getPdbResNum(), @@ -767,17 +778,10 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } jmolHistory(false); - // if (!pdbfile.equals(pdbentry.getFile())) - // return; - if (resetLastRes.length() > 0) - { - viewer.evalStringQuiet(resetLastRes.toString()); - } StringBuilder cmd = new StringBuilder(64); cmd.append("select " + pdbResNum); // +modelNum - resetLastRes.setLength(0); resetLastRes.append("select " + pdbResNum); // +modelNum cmd.append(":"); @@ -886,8 +890,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel pdbfilename = modelFileNames[_mp]; if (pdbfilename == null) { - pdbfilename = new File( - viewer.ms.getModelFileName(mnumber)) + pdbfilename = new File(viewer.ms.getModelFileName(mnumber)) .getAbsolutePath(); } @@ -942,7 +945,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel String mdlString = ""; if ((p = strInfo.indexOf(":")) > -1) { - picked += strInfo.substring(p + 1, strInfo.indexOf(".")); + picked += strInfo.substring(p, strInfo.indexOf(".")); } if ((p = strInfo.indexOf("/")) > -1) @@ -1119,7 +1122,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel { String fileName = modelfilenames[modelnum]; boolean foundEntry = false; - MCview.PDBfile pdb = null; + StructureFile pdb = null; String pdbfile = null; // model was probably loaded inline - so check the pdb file hashcode if (loadedInline) @@ -1130,8 +1133,8 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel pdbfile = viewer.getData("" + (1 + _modelFileNameMap[modelnum]) + ".0", "PDB"); } - // search pdbentries and sequences to find correct pdbentry for this - // model + // search pdbentries and sequences to find correct pdbentry for this + // model for (int pe = 0; pe < getPdbCount(); pe++) { boolean matches = false; @@ -1142,7 +1145,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel { pdb = getSsm().setMapping(getSequence()[pe], getChains()[pe], pdbfile, AppletFormatAdapter.PASTE); - getPdbEntry(modelnum).setFile("INLINE" + pdb.id); + getPdbEntry(modelnum).setFile("INLINE" + pdb.getId()); matches = true; foundEntry = true; } @@ -1181,10 +1184,10 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel if (matches) { // add an entry for every chain in the model - for (int i = 0; i < pdb.chains.size(); i++) + for (int i = 0; i < pdb.getChains().size(); i++) { - String chid = new String(pdb.id + ":" - + pdb.chains.elementAt(i).id); + String chid = new String(pdb.getId() + ":" + + pdb.getChains().elementAt(i).id); chainFile.put(chid, fileName); chainNames.addElement(chid); } @@ -1216,7 +1219,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel // } if (!isLoadingFromArchive()) { - viewer.evalStringQuiet("model 0; select backbone;restrict;cartoon;wireframe off;spacefill off"); + viewer.evalStringQuiet("model *; select backbone;restrict;cartoon;wireframe off;spacefill off"); } // register ourselves as a listener and notify the gui that it needs to // update itself. @@ -1264,6 +1267,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel */ public abstract void sendConsoleMessage(String strStatus); + @Override public void setCallbackFunction(String callbackType, String callbackFunction) { @@ -1401,16 +1405,6 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel return null; } - public boolean isFinishedInit() - { - return finishedInit; - } - - public void setFinishedInit(boolean finishedInit) - { - this.finishedInit = finishedInit; - } - /** * */ @@ -1465,4 +1459,3 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel showConsole(false); } } -