package jalview.ext.rbvi.chimera;
import java.awt.Color;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
*/
public class ChimeraXCommands extends ChimeraCommands
{
+ // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/info.html#resattr
+ private static final StructureCommand LIST_RESIDUE_ATTRIBUTES = new StructureCommand(
+ "info resattr");
+
+ // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/exit.html
+ private static final StructureCommand CLOSE_CHIMERAX = new StructureCommand(
+ "exit");
+
+ // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/info.html#notify
+ private static final StructureCommand STOP_NOTIFY_SELECTION = new StructureCommand(
+ "info notify stop selection jalview");
+
+ private static final StructureCommand STOP_NOTIFY_MODELS = new StructureCommand(
+ "info notify stop models jalview");
+
+ // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/info.html#selection
+ private static final StructureCommand GET_SELECTION = new StructureCommand(
+ "info selection level residue");
+
private static final StructureCommand SHOW_BACKBONE = new StructureCommand(
"~display all;~ribbon;show @CA|P atoms");
+ // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/view.html
private static final StructureCommand FOCUS_VIEW = new StructureCommand(
"view");
@Override
public StructureCommandI focusView()
{
- // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/view.html
return FOCUS_VIEW;
}
String cmd = "~ribbon #" + modelId + "/" + chainId;
return new StructureCommand(cmd);
}
+
+ public StructureCommandI closeViewer()
+ {
+ return CLOSE_CHIMERAX;
+ }
+
+ @Override
+ public List<StructureCommandI> startNotifications(String uri)
+ {
+ List<StructureCommandI> cmds = new ArrayList<>();
+ cmds.add(new StructureCommand(
+ "info notify start models prefix ModelChanged jalview url "
+ + uri));
+ cmds.add(new StructureCommand(
+ "info notify start selection jalview prefix SelectionChanged url "
+ + uri));
+ return cmds;
+ }
+
+ @Override
+ public List<StructureCommandI> stopNotifications()
+ {
+ List<StructureCommandI> cmds = new ArrayList<>();
+ cmds.add(STOP_NOTIFY_MODELS);
+ cmds.add(STOP_NOTIFY_SELECTION);
+ return cmds;
+ }
+
+ @Override
+ public StructureCommandI getSelectedResidues()
+ {
+ return GET_SELECTION;
+ }
+
+ @Override
+ public StructureCommandI listResidueAttributes()
+ {
+ return LIST_RESIDUE_ATTRIBUTES;
+ }
}