X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPymolBindingModel.java;h=62dce240cd759bb47463cadc47022a8814c6477b;hb=HEAD;hp=719ca53b54291a05297df46d206d360505d9c7b6;hpb=9d80cca5113c0411aa06559d4bd3f86454459ce7;p=jalview.git diff --git a/src/jalview/gui/PymolBindingModel.java b/src/jalview/gui/PymolBindingModel.java index 719ca53..62dce24 100644 --- a/src/jalview/gui/PymolBindingModel.java +++ b/src/jalview/gui/PymolBindingModel.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.gui; import java.util.ArrayList; @@ -6,7 +26,7 @@ import java.util.List; import java.util.Map; import jalview.api.AlignmentViewPanel; -import jalview.bin.Cache; +import jalview.bin.Console; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import jalview.ext.pymol.PymolCommands; @@ -70,16 +90,14 @@ public class PymolBindingModel extends AAStructureBindingModel public void highlightAtoms(List atoms) { /* - * https://pymolwiki.org/index.php/Label#examples + * https://pymolwiki.org/index.php/indicate#examples */ StringBuilder sb = new StringBuilder(); for (AtomSpec atom : atoms) { // todo promote to StructureCommandsI.showLabel() - // todo handle CA|P correctly String modelId = getModelIdForFile(atom.getPdbFile()); - sb.append(String.format(" %s//%s/%d/CA", modelId, - atom.getChain(), + sb.append(String.format(" %s//%s/%d/*", modelId, atom.getChain(), atom.getPdbResNum())); } String labelSpec = sb.toString(); @@ -87,18 +105,9 @@ public class PymolBindingModel extends AAStructureBindingModel { return; } - StructureCommandI command = new StructureCommand("label", labelSpec, LABEL_FORMAT); + StructureCommandI command = new StructureCommand("indicate", labelSpec); executeCommand(command, false); - /* - * and remove the label(s) previously shown - */ - if (lastLabelSpec != null) - { - command = new StructureCommand("label", lastLabelSpec, ""); - executeCommand(command, false); - } - lastLabelSpec = labelSpec; } @@ -112,7 +121,7 @@ public class PymolBindingModel extends AAStructureBindingModel protected List executeCommand(StructureCommandI command, boolean getReply) { - // System.out.println(command.toString()); // debug + // jalview.bin.Console.outPrintln(command.toString()); // debug return pymolManager.sendCommand(command, getReply); } @@ -131,7 +140,7 @@ public class PymolBindingModel extends AAStructureBindingModel @Override public boolean isViewerRunning() { - return pymolManager.isPymolLaunched(); + return pymolManager != null && pymolManager.isPymolLaunched(); } @Override @@ -156,7 +165,7 @@ public class PymolBindingModel extends AAStructureBindingModel } else { - Cache.log.error("Failed to launch PyMOL!"); + Console.error("Failed to launch PyMOL!"); } return pymol != null; } @@ -171,20 +180,21 @@ public class PymolBindingModel extends AAStructureBindingModel * a second parameter sets the pdbid as the loaded PyMOL object name */ String pdbId = pe.getId(); - try { - String safePDBId = java.net.URLEncoder.encode(pdbId,"UTF-8"); + try + { + String safePDBId = java.net.URLEncoder.encode(pdbId, "UTF-8"); pdbId = safePDBId.replace('%', '_'); pdbId = pdbId.replace("-", "__"); char fc = pdbId.charAt(0); // put an 's' before any numerics - if (fc>='0' && fc<='9') + if (fc >= '0' && fc <= '9') { - pdbId = 's'+pdbId; + pdbId = 's' + pdbId; } -// pdbId.replace('-', 0) + // pdbId.replace('-', 0) } catch (Exception x) { - Cache.log.error("Unxpected encoding exception for '"+pdbId+"'",x); + Console.error("Unxpected encoding exception for '" + pdbId + "'", x); } cmd.addParameter(pdbId);