import jalview.structure.StructureCommandsBase;
import jalview.structure.StructureMapping;
import jalview.structure.StructureSelectionManager;
+import jalview.structure.StructureCommandsI.AtomSpecType;
import jalview.util.Comparison;
+import jalview.util.Platform;
/**
* Routines for generating Jmol commands for Jalview/Jmol binding
*/
@Override
public List<StructureCommandI> superposeStructures(AtomSpecModel refAtoms,
- AtomSpecModel atomSpec)
+ AtomSpecModel atomSpec, AtomSpecType backbone)
{
StringBuilder sb = new StringBuilder(64);
String refModel = refAtoms.getModels().iterator().next();
* command examples don't include modelspec with atoms, getAtomSpec does;
* it works, so leave it as it is for simplicity
*/
- sb.append(getAtomSpec(atomSpec, true)).append("}{");
- sb.append(getAtomSpec(refAtoms, true)).append("}");
+ sb.append(getAtomSpec(atomSpec, backbone)).append("}{");
+ sb.append(getAtomSpec(refAtoms, backbone)).append("}");
sb.append(" ROTATE TRANSLATE ");
sb.append(getCommandSeparator());
/*
* show residues used for superposition as ribbon
*/
- sb.append("select ").append(getAtomSpec(atomSpec, false)).append("|");
- sb.append(getAtomSpec(refAtoms, false)).append(getCommandSeparator())
+ sb.append("select ").append(getAtomSpec(atomSpec, AtomSpecType.RESIDUE_ONLY)).append("|");
+ sb.append(getAtomSpec(refAtoms, AtomSpecType.RESIDUE_ONLY)).append(getCommandSeparator())
.append("cartoons");
return Arrays.asList(new StructureCommand(sb.toString()));
* a separate clause in the {@code compare} (superposition) command.
*/
@Override
- public String getAtomSpec(AtomSpecModel model, boolean alphaOnly)
+ public String getAtomSpec(AtomSpecModel model, AtomSpecType specType)
{
StringBuilder sb = new StringBuilder(128);
@Override
public StructureCommandI loadFile(String file)
{
- return null;
+ // https://chemapps.stolaf.edu/jmol/docs/#loadfiles
+ return new StructureCommand("load FILES \"" +
+ Platform.escapeBackslashes(file) + "\"");
}
/**
return sb;
}
+
+ @Override
+ public StructureCommandI openSession(String filepath)
+ {
+ return loadFile(filepath);
+ }
+
+ @Override
+ public StructureCommandI closeViewer()
+ {
+ return null; // not an external viewer
+ }
}