X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalviewChimeraXBindingModel.java;h=cfd44c7f8806ccec41a71b887af8b37e17fa87c6;hb=2d9d76a0d2350007aa5cdac2a7720ca2a37cfcfe;hp=0779bef30925efad7740c3a4622d75ba88b96f90;hpb=6cb920bb7a7f285a165cd34b3429dabba71f7518;p=jalview.git diff --git a/src/jalview/gui/JalviewChimeraXBindingModel.java b/src/jalview/gui/JalviewChimeraXBindingModel.java index 0779bef..cfd44c7 100644 --- a/src/jalview/gui/JalviewChimeraXBindingModel.java +++ b/src/jalview/gui/JalviewChimeraXBindingModel.java @@ -1,24 +1,29 @@ package jalview.gui; -import jalview.datamodel.PDBEntry; -import jalview.datamodel.SequenceI; -import jalview.io.DataSourceType; -import jalview.structure.StructureSelectionManager; - import java.util.List; import ext.edu.ucsf.rbvi.strucviz2.ChimeraModel; import ext.edu.ucsf.rbvi.strucviz2.StructureManager; import ext.edu.ucsf.rbvi.strucviz2.StructureManager.ModelType; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.SequenceI; +import jalview.ext.rbvi.chimera.ChimeraXCommands; +import jalview.gui.StructureViewer.ViewerType; +import jalview.io.DataSourceType; +import jalview.structure.AtomSpec; +import jalview.structure.StructureCommand; +import jalview.structure.StructureSelectionManager; public class JalviewChimeraXBindingModel extends JalviewChimeraBindingModel { + public static final String CHIMERAX_SESSION_EXTENSION = ".cxs"; public JalviewChimeraXBindingModel(ChimeraViewFrame chimeraViewFrame, StructureSelectionManager ssm, PDBEntry[] pdbentry, SequenceI[][] sequenceIs, DataSourceType protocol) { super(chimeraViewFrame, ssm, pdbentry, sequenceIs, protocol); + setStructureCommands(new ChimeraXCommands()); } @Override @@ -37,7 +42,7 @@ public class JalviewChimeraXBindingModel extends JalviewChimeraBindingModel int modelNumber = chimeraMaps.size() + 1; String command = "setattr #" + modelNumber + " models name " + pe.getId(); - executeCommand(command, false); + executeCommand(new StructureCommand(command), false); modelsToMap.add(new ChimeraModel(pe.getId(), ModelType.PDB_MODEL, modelNumber, 0)); } @@ -54,40 +59,44 @@ public class JalviewChimeraXBindingModel extends JalviewChimeraBindingModel } /** - * {@inheritDoc} + * Returns the file extension to use for a saved viewer session file (.cxs) * * @return + * @see https://www.cgl.ucsf.edu/chimerax/docs/user/commands/save.html#sesformat */ @Override - protected String getOpenCommandFileCommand(String path) + public String getSessionFileExtension() { - return "open " + path; + return CHIMERAX_SESSION_EXTENSION; + } + + @Override + public String getHelpURL() + { + return "http://www.rbvi.ucsf.edu/chimerax/docs/user/index.html"; } - /** - * {@inheritDoc} - */ @Override - protected String getSaveSessionCommand(String filepath) + protected ViewerType getViewerType() { - return "save session " + filepath; + return ViewerType.CHIMERAX; } - /** - * Returns the file extension to use for a saved viewer session file - * - * @return - */ @Override - public String getSessionFileExtension() + protected String getModelId(int pdbfnum, String file) { - return ".cxs"; + return String.valueOf(pdbfnum + 1); } + /** + * Returns a model of the structure positions described by the ChimeraX format atomspec + * @param atomSpec + * @return + */ @Override - public String getHelpURL() + protected AtomSpec parseAtomSpec(String atomSpec) { - return "http://www.rbvi.ucsf.edu/chimerax/docs/user/index.html"; + return AtomSpec.fromChimeraXAtomspec(atomSpec); } }