+ // https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/focus.html
+ private static final StructureCommand FOCUS_VIEW = new StructureCommand(
+ "focus");
+
+ // https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/listen.html#listresattr
+ private static final StructureCommand LIST_RESIDUE_ATTRIBUTES = new StructureCommand(
+ "list resattr");
+
+ // https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/stop.html
+ private static final StructureCommand CLOSE_CHIMERA = new StructureCommand(
+ "stop really");
+
+ // https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/listen.html
+ private static final StructureCommand STOP_NOTIFY_SELECTION = new StructureCommand(
+ "listen stop selection");
+
+ private static final StructureCommand STOP_NOTIFY_MODELS = new StructureCommand(
+ "listen stop models");
+
+ // https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/listen.html#listselection
+ private static final StructureCommand GET_SELECTION = new StructureCommand(
+ "list selection level residue");
+
+ private static final StructureCommand SHOW_BACKBONE = new StructureCommand(
+ "~display all;~ribbon;chain @CA|P");
+
+ private static final StructureCommandI COLOUR_BY_CHARGE = new StructureCommand(
+ "color white;color red ::ASP,GLU;color blue ::LYS,ARG;color yellow ::CYS");
+
+ // https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/rainbow.html
+ private static final StructureCommandI COLOUR_BY_CHAIN = new StructureCommand(
+ "rainbow chain");
+
+ // Chimera clause to exclude alternate locations in atom selection
+ private static final String NO_ALTLOCS = "&~@.B-Z&~@.2-9";
+
+ @Override
+ public StructureCommandI colourResidues(String atomSpec, Color colour)
+ {
+ // https://www.cgl.ucsf.edu/chimera/current/docs/UsersGuide/midas/color.html
+ String colourCode = getColourString(colour);
+ return new StructureCommand("color " + colourCode + " " + atomSpec);
+ }
+
+ /**
+ * Returns a colour formatted suitable for use in viewer command syntax
+ *
+ * @param colour
+ * @return
+ */
+ protected String getColourString(Color colour)
+ {
+ return ColorUtils.toTkCode(colour);
+ }