X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fpymol%2FPymolCommands.java;h=8bf1c9f09d89a3a21eec30346b7efdcff6b8cafd;hb=fa6411e3c25d907aa46aeb6a0ef2df8e49fe77d2;hp=ff7d0b2b16c5bfdf6a3954931120ace296836382;hpb=d69378a7c7a19760bcc240c8c082476fe50f99ae;p=jalview.git diff --git a/src/jalview/ext/pymol/PymolCommands.java b/src/jalview/ext/pymol/PymolCommands.java index ff7d0b2..8bf1c9f 100644 --- a/src/jalview/ext/pymol/PymolCommands.java +++ b/src/jalview/ext/pymol/PymolCommands.java @@ -2,6 +2,7 @@ package jalview.ext.pymol; import java.awt.Color; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -28,23 +29,30 @@ public class PymolCommands extends StructureCommandsBase 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 COLOR_BY_CHARGE = new ArrayList<>(); - - private static final List 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 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 SHOW_BACKBONE = Arrays + .asList(new StructureCommand("hide", "everything"), + new StructureCommand("show", "ribbon")); @Override public StructureCommandI colourByChain() @@ -81,8 +89,7 @@ public class PymolCommands extends StructureCommandsBase @Override public StructureCommandI focusView() { - // TODO what? - return null; + return FOCUS_VIEW; } @Override @@ -219,7 +226,7 @@ public class PymolCommands extends StructureCommandsBase final AtomSpecModel colourData = colourMap.get(colour); commands.add(getColourCommand(colourData, colour)); } - + return commands; } @@ -237,8 +244,7 @@ public class PymolCommands extends StructureCommandsBase * @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("='") @@ -272,13 +278,13 @@ public class PymolCommands extends StructureCommandsBase 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 values = featureMap.get(featureType); for (Object value : values.keySet()) { @@ -295,7 +301,7 @@ public class PymolCommands extends StructureCommandsBase commands.add(cmd); } } - + return commands; } @@ -332,5 +338,10 @@ public class PymolCommands extends StructureCommandsBase { return HIDE_EVERYTHING; } + + public StructureCommandI closeViewer() + { + return CLOSE_PYMOL; + } }