import java.awt.Color;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
private static final StructureCommand HIDE_EVERYTHING = new StructureCommand("hide", "everything");
- private static final StructureCommand COLOUR_BY_CHAIN = new StructureCommand("spectrum", "chain");
-
- private static final List<StructureCommandI> COLOR_BY_CHARGE = new ArrayList<>();
-
- private static final List<StructureCommandI> SHOW_BACKBONE = new ArrayList<>();
-
- static {
- COLOR_BY_CHARGE.add(new StructureCommand("color", "white", "*"));
- COLOR_BY_CHARGE
- .add(new StructureCommand("color", "red", "resn ASP resn GLU"));
- COLOR_BY_CHARGE.add(
- new StructureCommand("color", "blue", "resn LYS resn ARG"));
- COLOR_BY_CHARGE
- .add(new StructureCommand("color", "yellow", "resn CYS"));
- SHOW_BACKBONE.add(HIDE_EVERYTHING);
- SHOW_BACKBONE.add(SHOW_RIBBON);
- }
+ // https://pymol.org/dokuwiki/doku.php?id=command:zoom
+ // not currently documented on
+ // https://pymolwiki.org/index.php/Category:Commands
+ private static final StructureCommand FOCUS_VIEW = new StructureCommand(
+ "zoom");
+
+ // https://pymolwiki.org/index.php/Quit
+ private static final StructureCommand CLOSE_PYMOL = new StructureCommand(
+ "quit");
+
+ // not currently documented on
+ // https://pymolwiki.org/index.php/Category:Commands
+ private static final StructureCommand COLOUR_BY_CHAIN = new StructureCommand(
+ "spectrum", "chain");
+ private static final List<StructureCommandI> COLOR_BY_CHARGE = Arrays
+ .asList(new StructureCommand("color", "white", "*"),
+ new StructureCommand("color", "red", "resn ASP resn GLU"),
+ new StructureCommand("color", "blue",
+ "resn LYS resn ARG"),
+ new StructureCommand("color", "yellow", "resn CYS"));
+
+ private static final List<StructureCommandI> SHOW_BACKBONE = Arrays
+ .asList(new StructureCommand("hide", "everything"),
+ new StructureCommand("show", "ribbon"));
@Override
public StructureCommandI colourByChain()
@Override
public StructureCommandI focusView()
{
- // TODO what?
- return null;
+ return FOCUS_VIEW;
}
@Override
final AtomSpecModel colourData = colourMap.get(colour);
commands.add(getColourCommand(colourData, colour));
}
-
+
return commands;
}
* @return
*/
protected StructureCommandI setAttribute(String attributeName,
- String attributeValue,
- AtomSpecModel atomSpecModel)
+ String attributeValue, AtomSpecModel atomSpecModel)
{
StringBuilder sb = new StringBuilder(128);
sb.append("p.").append(attributeName).append("='")
for (String featureType : featureMap.keySet())
{
String attributeName = makeAttributeName(featureType);
-
+
/*
* todo: clear down existing attributes for this feature?
*/
// commands.add(new StructureCommand("iterate", "all",
// "p."+attributeName+"='None'"); //?
-
+
Map<Object, AtomSpecModel> values = featureMap.get(featureType);
for (Object value : values.keySet())
{
commands.add(cmd);
}
}
-
+
return commands;
}
{
return HIDE_EVERYTHING;
}
+
+ public StructureCommandI closeViewer()
+ {
+ return CLOSE_PYMOL;
+ }
}