*/
package jalview.ext.rbvi.chimera;
+import java.awt.Color;
+import java.util.Arrays;
+import java.util.List;
+
import jalview.structure.AtomSpecModel;
import jalview.structure.StructureCommand;
import jalview.structure.StructureCommandI;
import jalview.util.ColorUtils;
-import java.awt.Color;
-import java.util.Arrays;
-import java.util.List;
-
/**
* Routines for generating ChimeraX commands for Jalview/ChimeraX binding
*/
public class ChimeraXCommands extends ChimeraCommands
{
private static final StructureCommand SHOW_BACKBONE = new StructureCommand(
- "~display all;show @CA|P pbonds");
+ "~display all;~ribbon;show @CA|P atoms");
private static final StructureCommand FOCUS_VIEW = new StructureCommand(
"view");
}
@Override
- public StructureCommandI getColourCommand(String atomSpec, Color colour)
+ public StructureCommandI colourResidues(String atomSpec, Color colour)
{
// https://www.cgl.ucsf.edu/chimerax/docs/user/commands/color.html
String colourCode = getColourString(colour);
public StructureCommandI saveSession(String filepath)
{
// https://www.cgl.ucsf.edu/chimerax/docs/user/commands/save.html
- return new StructureCommand("save session " + filepath);
+ // note ChimeraX will append ".cxs" to the filepath!
+ return new StructureCommand("save " + filepath + " format session");
}
/**
appendModel(sb, model, atomSpec);
if (alphaOnly)
{
- sb.append("@CA|P");
+ // TODO @P if RNA - add nucleotide flag to AtomSpecModel?
+ sb.append("@CA");
}
// todo: is there ChimeraX syntax to exclude altlocs?
}
}
@Override
- public List<StructureCommandI> superposeStructures(AtomSpecModel spec,
- AtomSpecModel ref)
+ public List<StructureCommandI> superposeStructures(AtomSpecModel ref,
+ AtomSpecModel spec)
{
/*
* Form ChimeraX match command to match spec to ref
*
* match #1/A:2-94 toAtoms #2/A:1-93
*
- * @see
- * https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/match.html
+ * @see https://www.cgl.ucsf.edu/chimerax/docs/user/commands/align.html
*/
StringBuilder cmd = new StringBuilder();
String atomSpec = getAtomSpec(spec, true);
return Arrays.asList(new StructureCommand(cmd.toString()));
}
+ @Override
+ public StructureCommandI openSession(String filepath)
+ {
+ // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/open.html#composite
+ return new StructureCommand("open " + filepath + " format session");
+ }
}