From ae216fceddd8539d20fa5425cdaef3da73aba8f0 Mon Sep 17 00:00:00 2001 From: "j.procter@dundee.ac.uk" Date: Thu, 3 Jul 2014 20:09:00 -0700 Subject: [PATCH] JAL-1333 more abstraction and refactoring and working demo of Jalview talking to Chimera --- .classpath | 6 +- lib/log4j-1.2.8.jar | Bin 348699 -> 0 bytes .../edu/ucsf/rbvi/strucviz2/ChimeraManager.java | 5 + .../api/structures/JalviewStructureDisplayI.java | 7 + src/jalview/ext/rbvi/chimera/ChimeraCommands.java | 162 +++ .../ext/rbvi/chimera/JalviewChimeraBinding.java | 1446 ++++++++++++++++++++ src/jalview/gui/ChimeraViewFrame.java | 1228 +++++++++++++++++ src/jalview/gui/JalviewChimeraBindingModel.java | 102 ++ src/jalview/gui/StructureViewer.java | 20 +- src/jalview/gui/UserDefinedColours.java | 5 +- test/jalview/ext/rbvi/chimera/ChimeraConnect.java | 1 - .../ext/rbvi/chimera/JalviewChimeraView.java | 82 ++ test/jalview/ext/rbvi/chimera/testProps.jvprops | 84 ++ 13 files changed, 3134 insertions(+), 14 deletions(-) delete mode 100755 lib/log4j-1.2.8.jar create mode 100644 src/jalview/ext/rbvi/chimera/ChimeraCommands.java create mode 100644 src/jalview/ext/rbvi/chimera/JalviewChimeraBinding.java create mode 100644 src/jalview/gui/ChimeraViewFrame.java create mode 100644 src/jalview/gui/JalviewChimeraBindingModel.java create mode 100644 test/jalview/ext/rbvi/chimera/JalviewChimeraView.java create mode 100644 test/jalview/ext/rbvi/chimera/testProps.jvprops diff --git a/.classpath b/.classpath index 36a4c97..fae5ca0 100644 --- a/.classpath +++ b/.classpath @@ -9,7 +9,6 @@ - @@ -48,7 +47,10 @@ - + + + + diff --git a/lib/log4j-1.2.8.jar b/lib/log4j-1.2.8.jar deleted file mode 100755 index 05f87028b2c87fe9ab99e1b37170f7940a125583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348699 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

G5IhHD2}dc$!z}D*yo0u5Vp#X-q9bol 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%0AG- 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

?%EfIMS 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 diff --git a/src/ext/edu/ucsf/rbvi/strucviz2/ChimeraManager.java b/src/ext/edu/ucsf/rbvi/strucviz2/ChimeraManager.java index d0bb84e..a82a6fb 100644 --- a/src/ext/edu/ucsf/rbvi/strucviz2/ChimeraManager.java +++ b/src/ext/edu/ucsf/rbvi/strucviz2/ChimeraManager.java @@ -670,4 +670,9 @@ public class ChimeraManager return chimeraListenerThreads.getResponse(command); } + public StructureManager getStructureManager() + { + return structureManager; + } + } diff --git a/src/jalview/api/structures/JalviewStructureDisplayI.java b/src/jalview/api/structures/JalviewStructureDisplayI.java index 0b3820b..efb60dd 100644 --- a/src/jalview/api/structures/JalviewStructureDisplayI.java +++ b/src/jalview/api/structures/JalviewStructureDisplayI.java @@ -26,6 +26,8 @@ import jalview.api.SequenceStructureBinding; import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceI; import jalview.ext.jmol.JalviewJmolBinding; +import jalview.schemes.ColourSchemeI; +import jalview.schemes.UserColourScheme; import jalview.structure.StructureMappingcommandSet; import jalview.structure.StructureSelectionManager; @@ -57,5 +59,10 @@ public interface JalviewStructureDisplayI * shutdown any structure viewing processes started by this display */ void closeViewer(); + /** + * apply a colourscheme to the structures in the viewer + * @param colourScheme + */ + void setJalviewColourScheme(ColourSchemeI colourScheme); } diff --git a/src/jalview/ext/rbvi/chimera/ChimeraCommands.java b/src/jalview/ext/rbvi/chimera/ChimeraCommands.java new file mode 100644 index 0000000..41c7abb --- /dev/null +++ b/src/jalview/ext/rbvi/chimera/ChimeraCommands.java @@ -0,0 +1,162 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 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.ext.rbvi.chimera; + +import jalview.api.FeatureRenderer; +import jalview.api.SequenceRenderer; +import jalview.api.structures.JalviewStructureDisplayI; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.SequenceI; +import jalview.structure.StructureMapping; +import jalview.structure.StructureMappingcommandSet; +import jalview.structure.StructureSelectionManager; +import jalview.util.Format; + +import java.awt.Color; +import java.util.ArrayList; + +/** + * Routines for generating Chimera commands for Jalview/Chimera binding + * + * @author JimP + * + */ +public class ChimeraCommands +{ + + /** + * utility to construct the commands to colour chains by the given alignment + * for passing to Chimera + * + * @returns Object[] { Object[] { , + * + */ + public static StructureMappingcommandSet[] getColourBySequenceCommand( + StructureSelectionManager ssm, String[] files, + SequenceI[][] sequence, SequenceRenderer sr, FeatureRenderer fr, + AlignmentI alignment) + { + + ArrayList cset = new ArrayList(); + + for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++) + { + float cols[] = new float[4]; + StructureMapping[] mapping = ssm.getMapping(files[pdbfnum]); + StringBuffer command = new StringBuffer(); + StructureMappingcommandSet smc; + ArrayList str = new ArrayList(); + + if (mapping == null || mapping.length < 1) + continue; + + int startPos = -1, lastPos = -1, startModel = -1, lastModel = -1; + String startChain = "", lastChain = ""; + Color lastCol = null; + for (int s = 0; s < sequence[pdbfnum].length; s++) + { + for (int sp, m = 0; m < mapping.length; m++) + { + if (mapping[m].getSequence() == sequence[pdbfnum][s] + && (sp = alignment.findIndex(sequence[pdbfnum][s])) > -1) + { + SequenceI asp = alignment.getSequenceAt(sp); + for (int r = 0; r < asp.getLength(); r++) + { + // no mapping to gaps in sequence + if (jalview.util.Comparison.isGap(asp.getCharAt(r))) + { + continue; + } + int pos = mapping[m].getPDBResNum(asp.findPosition(r)); + + if (pos < 1 || pos == lastPos) + continue; + + Color col = sr.getResidueBoxColour(sequence[pdbfnum][s], r); + + if (fr != null) + col = fr.findFeatureColour(col, sequence[pdbfnum][s], r); + if (lastCol != col || lastPos + 1 != pos + || pdbfnum != lastModel + || !mapping[m].getChain().equals(lastChain)) + { + if (lastCol != null) + { + + lastCol.getRGBComponents(cols); + String newSelcom = "color " + cols[0] + "," + cols[1] + + "," + cols[2] + " #" + startModel + ":" + + startPos + "-" + lastPos + "." + lastChain; + if (str.size() > 0 + && (str.get(str.size() - 1).length() + newSelcom + .length()) < 4096) + { + str.set(str.size() - 1, str.get(str.size() - 1) + ";" + + newSelcom); + } + else + { + str.add(newSelcom); + } + } + lastCol = null; + startPos = pos; + startModel = pdbfnum; + startChain = mapping[m].getChain(); + } + lastCol = col; + lastPos = pos; + lastModel = pdbfnum; + lastChain = mapping[m].getChain(); + } + // final colour range + if (lastCol != null) + { + + lastCol.getRGBComponents(cols); + String newSelcom = "color " + cols[0] + "," + cols[1] + "," + + cols[2] + " #" + startModel + ":" + startPos + "-" + + lastPos + "." + lastChain; + if (str.size() > 0 + && (str.get(str.size() - 1).length() + newSelcom + .length()) < 4096) + { + str.set(str.size() - 1, str.get(str.size() - 1) + ";" + + newSelcom); + } + else + { + str.add(newSelcom); + } + } + break; + } + } + } + // Finally, add the command set ready to be returned. + cset.add(new StructureMappingcommandSet(ChimeraCommands.class, + files[pdbfnum], str.toArray(new String[str.size()]))); + } + return cset.toArray(new StructureMappingcommandSet[cset.size()]); + } + +} diff --git a/src/jalview/ext/rbvi/chimera/JalviewChimeraBinding.java b/src/jalview/ext/rbvi/chimera/JalviewChimeraBinding.java new file mode 100644 index 0000000..7e72d8f --- /dev/null +++ b/src/jalview/ext/rbvi/chimera/JalviewChimeraBinding.java @@ -0,0 +1,1446 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 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.ext.rbvi.chimera; + +import static org.junit.Assert.assertTrue; +import jalview.api.AlignmentViewPanel; +import jalview.api.FeatureRenderer; +import jalview.api.SequenceRenderer; +import jalview.api.SequenceStructureBinding; +import jalview.api.StructureSelectionManagerProvider; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.ColumnSelection; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.SequenceI; +import jalview.io.AppletFormatAdapter; +import jalview.schemes.ColourSchemeI; +import jalview.schemes.ResidueProperties; +import jalview.structure.StructureListener; +import jalview.structure.StructureMapping; +import jalview.structure.StructureSelectionManager; +import jalview.structures.models.SequenceStructureBindingModel; + +import java.awt.Color; +import java.awt.Container; +import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; +import java.io.File; +import java.net.URL; +import java.security.AccessControlException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import org.jmol.adapter.smarter.SmarterJmolAdapter; +import org.jmol.api.JmolAppConsoleInterface; +import org.jmol.api.JmolSelectionListener; +import org.jmol.api.JmolStatusListener; +import org.jmol.api.JmolViewer; +import org.jmol.constant.EnumCallback; +import org.jmol.popup.JmolPopup; + +import ext.edu.ucsf.rbvi.strucviz2.ChimeraManager; +import ext.edu.ucsf.rbvi.strucviz2.ChimeraModel; +import ext.edu.ucsf.rbvi.strucviz2.StructureManager; +import ext.edu.ucsf.rbvi.strucviz2.StructureManager.ModelType; +import sun.rmi.runtime.Log; + +public abstract class JalviewChimeraBinding extends + SequenceStructureBindingModel implements StructureListener, + SequenceStructureBinding, StructureSelectionManagerProvider + +{ + private StructureManager csm; + + private ChimeraManager viewer; + + /** + * set if chimera state is being restored from some source - instructs binding + * not to apply default display style when structure set is updated for first + * time. + */ + private boolean loadingFromArchive = false; + + /** + * second flag to indicate if the jmol viewer should ignore sequence colouring + * events from the structure manager because the GUI is still setting up + */ + private boolean loadingFinished = true; + + /** + * state flag used to check if the Jmol viewer's paint method can be called + */ + private boolean finishedInit = false; + + public boolean isFinishedInit() + { + return finishedInit; + } + + public void setFinishedInit(boolean finishedInit) + { + this.finishedInit = finishedInit; + } + + boolean allChainsSelected = false; + + /** + * when true, try to search the associated datamodel for sequences that are + * associated with any unknown structures in the Jmol view. + */ + private boolean associateNewStructs = false; + + Vector atomsPicked = new Vector(); + + public Vector chainNames; + + Hashtable chainFile; + + /** + * array of target chains for seuqences - tied to pdbentry and sequence[] + */ + protected String[][] chains; + + boolean colourBySequence = true; + + StringBuffer eval = new StringBuffer(); + + public String fileLoadingError; + + private Map> chimmaps = new HashMap>(); + + private List mdlToFile = new ArrayList(); + + /** + * the default or current model displayed if the model cannot be identified + * from the selection message + */ + int frameNo = 0; + + String lastCommand; + + String lastMessage; + + boolean loadedInline; + + public boolean openFile(PDBEntry pe) + { + String file = pe.getFile(); + try + { + List oldList = viewer.getModelList(); + viewer.openModel(file, ModelType.PDB_MODEL); + List newList = viewer.getModelList(); + if (oldList.size() < newList.size()) + { + while (oldList.size() > 0) + { + oldList.remove(0); + newList.remove(0); + } + chimmaps.put(file, newList); + for (ChimeraModel cm : newList) + { + while (mdlToFile.size()<1+cm.getModelNumber()) + { + mdlToFile.add(new String("")); + } + mdlToFile.set(cm.getModelNumber(), file); + } + + File fl = new File(file); + String protocol = AppletFormatAdapter.URL; + try + { + if (fl.exists()) + { + protocol = AppletFormatAdapter.FILE; + } + } catch (Exception e) + { + } catch (Error e) + { + } + // Explicitly map to the filename used by Jmol ; + // pdbentry[pe].getFile(), protocol); + + if (ssm != null) + { + ssm.addStructureViewerListener(this); + // ssm.addSelectionListener(this); + FeatureRenderer fr = getFeatureRenderer(null); + if (fr != null) + { + fr.featuresAdded(); + } + refreshGUI(); + } + return true; + } + } catch (Exception q) + { + log("Exception when trying to open model " + file + "\n" + + q.toString()); + q.printStackTrace(); + } + return false; + } + + /** + * current set of model filenames loaded + */ + String[] modelFileNames = null; + + public PDBEntry[] pdbentry; + + /** + * datasource protocol for access to PDBEntrylatest + */ + String protocol = null; + + StringBuffer resetLastRes = new StringBuffer(); + + /** + * sequences mapped to each pdbentry + */ + public SequenceI[][] sequence; + + public StructureSelectionManager ssm; + + private List lastReply; + + public JalviewChimeraBinding(StructureSelectionManager ssm, + PDBEntry[] pdbentry, SequenceI[][] sequenceIs, String[][] chains, + String protocol) + { + this.ssm = ssm; + this.sequence = sequenceIs; + this.chains = chains; + this.pdbentry = pdbentry; + this.protocol = protocol; + if (chains == null) + { + this.chains = new String[pdbentry.length][]; + } + viewer = new ChimeraManager( + csm = new ext.edu.ucsf.rbvi.strucviz2.StructureManager(true)); + /* + * viewer = JmolViewer.allocateViewer(renderPanel, new SmarterJmolAdapter(), + * "jalviewJmol", ap.av.applet .getDocumentBase(), + * ap.av.applet.getCodeBase(), "", this); + * + * jmolpopup = JmolPopup.newJmolPopup(viewer, true, "Jmol", true); + */ + } + + public JalviewChimeraBinding(StructureSelectionManager ssm, + ChimeraManager viewer2) + { + this.ssm = ssm; + viewer = viewer2; + csm = viewer.getStructureManager(); + } + + /** + * construct a title string for the viewer window based on the data jalview + * knows about + * + * @return + */ + public String getViewerTitle() + { + if (sequence == null || pdbentry == null || sequence.length < 1 + || pdbentry.length < 1 || sequence[0].length < 1) + { + return ("Jalview Chimera Window"); + } + // TODO: give a more informative title when multiple structures are + // displayed. + StringBuffer title = new StringBuffer("Chimera view for " + + sequence[0][0].getName() + ":" + pdbentry[0].getId()); + + if (pdbentry[0].getProperty() != null) + { + if (pdbentry[0].getProperty().get("method") != null) + { + title.append(" Method: "); + title.append(pdbentry[0].getProperty().get("method")); + } + if (pdbentry[0].getProperty().get("chains") != null) + { + title.append(" Chain:"); + title.append(pdbentry[0].getProperty().get("chains")); + } + } + return title.toString(); + } + + /** + * prepare the view for a given set of models/chains. chainList contains + * strings of the form 'pdbfilename:Chaincode' + * + * @param chainList + * list of chains to make visible + */ + public void centerViewer(Vector chainList) + { + StringBuffer cmd = new StringBuffer(); + String lbl; + int mlength, p; + for (int i = 0, iSize = chainList.size(); i < iSize; i++) + { + mlength = 0; + lbl = (String) chainList.elementAt(i); + do + { + p = mlength; + mlength = lbl.indexOf(":", p); + } while (p < mlength && mlength < (lbl.length() - 2)); + // TODO: lookup each pdb id and recover proper model number for it. + cmd.append("#" + getModelNum((String) chainFile.get(lbl)) + "." + + lbl.substring(mlength + 1) + " or "); + } + if (cmd.length() > 0) + cmd.setLength(cmd.length() - 4); + evalStateCommand("~display #*; ~ribbon #*; ribbon " + cmd + ";focus " + + cmd); + } + + public void closeViewer() + { + ssm.removeStructureViewerListener(this, this.getPdbFile()); + // and shut down Chimera + viewer.exitChimera(); + // viewer.evalStringQuiet("zap"); + // viewer.setJmolStatusListener(null); + lastCommand = null; + viewer = null; + releaseUIResources(); + } + + /** + * called by JalviewJmolbinding after closeViewer is called - release any + * resources and references so they can be garbage collected. + */ + protected abstract void releaseUIResources(); + + public void colourByChain() + { + colourBySequence = false; + // TODO: colour by chain should colour each chain distinctly across all + // visible models + // TODO: http://issues.jalview.org/browse/JAL-628 + evalStateCommand("select *;color chain"); + } + + public void colourByCharge() + { + colourBySequence = false; + evalStateCommand("colour *;color white;select ASP,GLU;color red;" + + "select LYS,ARG;color blue;select CYS;color yellow"); + } + + /** + * superpose the structures associated with sequences in the alignment + * according to their corresponding positions. + */ + public void superposeStructures(AlignmentI alignment) + { + superposeStructures(alignment, -1, null); + } + + /** + * superpose the structures associated with sequences in the alignment + * according to their corresponding positions. ded) + * + * @param refStructure + * - select which pdb file to use as reference (default is -1 - the + * first structure in the alignment) + */ + public void superposeStructures(AlignmentI alignment, int refStructure) + { + superposeStructures(alignment, refStructure, null); + } + + /** + * superpose the structures associated with sequences in the alignment + * according to their corresponding positions. ded) + * + * @param refStructure + * - select which pdb file to use as reference (default is -1 - the + * first structure in the alignment) + * @param hiddenCols + * TODO + */ + public void superposeStructures(AlignmentI alignment, int refStructure, + ColumnSelection hiddenCols) + { + superposeStructures(new AlignmentI[] + { alignment }, new int[] + { refStructure }, new ColumnSelection[] + { hiddenCols }); + } + + public void superposeStructures(AlignmentI[] _alignment, + int[] _refStructure, ColumnSelection[] _hiddenCols) + { + assert (_alignment.length == _refStructure.length && _alignment.length != _hiddenCols.length); + + String[] files = getPdbFile(); + // check to see if we are still waiting for Jmol files + long starttime = System.currentTimeMillis(); + boolean waiting = true; + do + { + waiting = false; + for (String file : files) + { + try + { + // HACK - in Jalview 2.8 this call may not be threadsafe so we catch + // every possible exception + StructureMapping[] sm = ssm.getMapping(file); + if (sm == null || sm.length == 0) + { + waiting = true; + } + } catch (Exception x) + { + waiting = true; + } catch (Error q) + { + waiting = true; + } + } + // we wait around for a reasonable time before we give up + } while (waiting + && System.currentTimeMillis() < (10000 + 1000 * files.length + starttime)); + if (waiting) + { + System.err + .println("RUNTIME PROBLEM: Jmol seems to be taking a long time to process all the structures."); + return; + } + StringBuffer selectioncom = new StringBuffer(); + // In principle - nSeconds specifies the speed of animation for each + // superposition - but is seems to behave weirdly, so we don't specify it. + String nSeconds = " "; + if (files.length > 10) + { + nSeconds = " 0.00001 "; + } + else + { + nSeconds = " " + (2.0 / files.length) + " "; + // if (nSeconds).substring(0,5)+" "; + } + // see JAL-1345 - should really automatically turn off the animation for + // large numbers of structures, but Jmol doesn't seem to allow that. + nSeconds = " "; + // union of all aligned positions are collected together. + for (int a = 0; a < _alignment.length; a++) + { + int refStructure = _refStructure[a]; + AlignmentI alignment = _alignment[a]; + ColumnSelection hiddenCols = _hiddenCols[a]; + if (a > 0 + && selectioncom.length() > 0 + && !selectioncom.substring(selectioncom.length() - 1).equals( + "|")) + { + selectioncom.append("|"); + } + // process this alignment + if (refStructure >= files.length) + { + System.err.println("Invalid reference structure value " + + refStructure); + refStructure = -1; + } + if (refStructure < -1) + { + refStructure = -1; + } + StringBuffer command = new StringBuffer(); + + boolean matched[] = new boolean[alignment.getWidth()]; + for (int m = 0; m < matched.length; m++) + { + + matched[m] = (hiddenCols != null) ? hiddenCols.isVisible(m) : true; + } + + int commonrpositions[][] = new int[files.length][alignment.getWidth()]; + String isel[] = new String[files.length]; + // reference structure - all others are superposed in it + String[] targetC = new String[files.length]; + String[] chainNames = new String[files.length]; + for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++) + { + StructureMapping[] mapping = ssm.getMapping(files[pdbfnum]); + // RACE CONDITION - getMapping only returns Jmol loaded filenames once + // Jmol callback has completed. + if (mapping == null || mapping.length < 1) + { + throw new Error( + "Implementation error - Jmol seems to be still working on getting its data - report at http://issues.jalview.org/browse/JAL-1016"); + } + int lastPos = -1; + for (int s = 0; s < sequence[pdbfnum].length; s++) + { + for (int sp, m = 0; m < mapping.length; m++) + { + if (mapping[m].getSequence() == sequence[pdbfnum][s] + && (sp = alignment.findIndex(sequence[pdbfnum][s])) > -1) + { + if (refStructure == -1) + { + refStructure = pdbfnum; + } + SequenceI asp = alignment.getSequenceAt(sp); + for (int r = 0; r < matched.length; r++) + { + if (!matched[r]) + { + continue; + } + matched[r] = false; // assume this is not a good site + if (r >= asp.getLength()) + { + continue; + } + + if (jalview.util.Comparison.isGap(asp.getCharAt(r))) + { + // no mapping to gaps in sequence + continue; + } + int t = asp.findPosition(r); // sequence position + int apos = mapping[m].getAtomNum(t); + int pos = mapping[m].getPDBResNum(t); + + if (pos < 1 || pos == lastPos) + { + // can't align unmapped sequence + continue; + } + matched[r] = true; // this is a good ite + lastPos = pos; + // just record this residue position + commonrpositions[pdbfnum][r] = pos; + } + // create model selection suffix + isel[pdbfnum] = "/" + (pdbfnum + 1) + ".1"; + if (mapping[m].getChain() == null + || mapping[m].getChain().trim().length() == 0) + { + targetC[pdbfnum] = ""; + } + else + { + targetC[pdbfnum] = ":" + mapping[m].getChain(); + } + chainNames[pdbfnum] = mapping[m].getPdbId() + + targetC[pdbfnum]; + // move on to next pdb file + s = sequence[pdbfnum].length; + break; + } + } + } + } + + // TODO: consider bailing if nmatched less than 4 because superposition + // not + // well defined. + // TODO: refactor superposable position search (above) from jmol selection + // construction (below) + + String[] selcom = new String[files.length]; + int nmatched = 0; + // generate select statements to select regions to superimpose structures + { + for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++) + { + String chainCd = targetC[pdbfnum]; + int lpos = -1; + boolean run = false; + StringBuffer molsel = new StringBuffer(); + molsel.append("{"); + for (int r = 0; r < matched.length; r++) + { + if (matched[r]) + { + if (pdbfnum == 0) + { + nmatched++; + } + if (lpos != commonrpositions[pdbfnum][r] - 1) + { + // discontinuity + if (lpos != -1) + { + molsel.append(lpos); + molsel.append(chainCd); + // molsel.append("} {"); + molsel.append("|"); + } + } + else + { + // continuous run - and lpos >-1 + if (!run) + { + // at the beginning, so add dash + molsel.append(lpos); + molsel.append("-"); + } + run = true; + } + lpos = commonrpositions[pdbfnum][r]; + // molsel.append(lpos); + } + } + // add final selection phrase + if (lpos != -1) + { + molsel.append(lpos); + molsel.append(chainCd); + molsel.append("}"); + } + if (molsel.length() > 1) + { + selcom[pdbfnum] = molsel.toString(); + selectioncom.append("(("); + selectioncom.append(selcom[pdbfnum].substring(1, + selcom[pdbfnum].length() - 1)); + selectioncom.append(" )& "); + selectioncom.append(pdbfnum + 1); + selectioncom.append(".1)"); + if (pdbfnum < files.length - 1) + { + selectioncom.append("|"); + } + } + else + { + selcom[pdbfnum] = null; + } + } + } + for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++) + { + if (pdbfnum == refStructure || selcom[pdbfnum] == null + || selcom[refStructure] == null) + { + continue; + } + command.append("echo "); + command.append("\"Superposing ("); + command.append(chainNames[pdbfnum]); + command.append(") against reference ("); + command.append(chainNames[refStructure]); + command.append(")\";\ncompare " + nSeconds); + command.append("{"); + command.append(1 + pdbfnum); + command.append(".1} {"); + command.append(1 + refStructure); + command.append(".1} SUBSET {*.CA | *.P} ATOMS "); + + // form the matched pair strings + String sep = ""; + for (int s = 0; s < 2; s++) + { + command.append(selcom[(s == 0 ? pdbfnum : refStructure)]); + } + command.append(" ROTATE TRANSLATE;\n"); + } + if (selectioncom.length() > 0) + { + System.out.println("Select regions:\n" + selectioncom.toString()); + evalStateCommand("select *; cartoons off; backbone; select (" + + selectioncom.toString() + "); cartoons; "); + // selcom.append("; ribbons; "); + System.out + .println("Superimpose command(s):\n" + command.toString()); + + evalStateCommand(command.toString()); + } + } + if (selectioncom.length() > 0) + {// finally, mark all regions that were superposed. + if (selectioncom.substring(selectioncom.length() - 1).equals("|")) + { + selectioncom.setLength(selectioncom.length() - 1); + } + System.out.println("Select regions:\n" + selectioncom.toString()); + evalStateCommand("select *; cartoons off; backbone; select (" + + selectioncom.toString() + "); cartoons; "); + // evalStateCommand("select *; backbone; select "+selcom.toString()+"; cartoons; center "+selcom.toString()); + } + } + + private void checkLaunched() + { + if (!viewer.isChimeraLaunched()) + { + viewer.launchChimera(csm.getChimeraPaths()); + } + if (!viewer.isChimeraLaunched()) + { + log("Failed to launch Chimera!"); + } + } + + public void evalStateCommand(String command) + { + viewerCommandHistory(false); + checkLaunched(); + if (lastCommand == null || !lastCommand.equals(command)) + { + + lastReply = viewer.sendChimeraCommand(command, true); + if (debug) + { + log("Response from command ('" + command + "') was:\n" + lastReply); + } + } + viewerCommandHistory(true); + lastCommand = command; + } + + /** + * colour any structures associated with sequences in the given alignment + * using the getFeatureRenderer() and getSequenceRenderer() renderers but only + * if colourBySequence is enabled. + */ + public void colourBySequence(boolean showFeatures, + jalview.api.AlignmentViewPanel alignmentv) + { + if (!colourBySequence || !loadingFinished) + return; + if (ssm == null) + { + return; + } + String[] files = getPdbFile(); + + SequenceRenderer sr = getSequenceRenderer(alignmentv); + + FeatureRenderer fr = null; + if (showFeatures) + { + fr = getFeatureRenderer(alignmentv); + } + AlignmentI alignment = alignmentv.getAlignment(); + + for (jalview.structure.StructureMappingcommandSet cpdbbyseq : ChimeraCommands + .getColourBySequenceCommand(ssm, files, sequence, sr, fr, + alignment)) + for (String cbyseq : cpdbbyseq.commands) + { + evalStateCommand(cbyseq); + } + } + + public boolean isColourBySequence() + { + return colourBySequence; + } + + public void setColourBySequence(boolean colourBySequence) + { + this.colourBySequence = colourBySequence; + } + + public void createImage(String file, String type, int quality) + { + System.out.println("JMOL CREATE IMAGE"); + } + + public String createImage(String fileName, String type, + Object textOrBytes, int quality) + { + System.out.println("JMOL CREATE IMAGE"); + return null; + } + + public String eval(String strEval) + { + // System.out.println(strEval); + // "# 'eval' is implemented only for the applet."; + return null; + } + + // End StructureListener + // ////////////////////////// + + public float[][] functionXY(String functionName, int x, int y) + { + return null; + } + + public float[][][] functionXYZ(String functionName, int nx, int ny, int nz) + { + // TODO Auto-generated method stub + return null; + } + + public Color getColour(int atomIndex, int pdbResNum, String chain, + String pdbfile) + { + if (getModelNum(pdbfile) < 0) + return null; + log("get model / residue colour attribute unimplemented"); + return null; + } + + /** + * returns the current featureRenderer that should be used to colour the + * structures + * + * @param alignment + * + * @return + */ + public abstract FeatureRenderer getFeatureRenderer( + AlignmentViewPanel alignment); + + /** + * instruct the Jalview binding to update the pdbentries vector if necessary + * prior to matching the jmol view's contents to the list of structure files + * Jalview knows about. + */ + public abstract void refreshPdbEntries(); + + private int getModelNum(String modelFileName) + { + String[] mfn = getPdbFile(); + if (mfn == null) + { + return -1; + } + for (int i = 0; i < mfn.length; i++) + { + if (mfn[i].equalsIgnoreCase(modelFileName)) + return i; + } + return -1; + } + + /** + * map between index of model filename returned from getPdbFile and the first + * index of models from this file in the viewer. Note - this is not trimmed - + * use getPdbFile to get number of unique models. + */ + private int _modelFileNameMap[]; + + // //////////////////////////////// + // /StructureListener + public synchronized String[] getPdbFile() + { + if (viewer == null) + { + return new String[0]; + } +// if (modelFileNames == null) +// { +// Collection chimodels = viewer.getChimeraModels(); +// _modelFileNameMap = new int[chimodels.size()]; +// int j = 0; +// for (ChimeraModel chimodel : chimodels) +// { +// String mdlName = chimodel.getModelName(); +// } +// modelFileNames = new String[j]; +// // System.arraycopy(mset, 0, modelFileNames, 0, j); +// } + + return chimmaps.keySet().toArray( + modelFileNames = new String[chimmaps.size()]); + } + + /** + * map from string to applet + */ + public Map getRegistryInfo() + { + // TODO Auto-generated method stub + return null; + } + + /** + * returns the current sequenceRenderer that should be used to colour the + * structures + * + * @param alignment + * + * @return + */ + public abstract SequenceRenderer getSequenceRenderer( + AlignmentViewPanel alignment); + + // jmol/ssm only + public void highlightAtom(int atomIndex, int pdbResNum, String chain, + String pdbfile) + { + List cms = chimmaps.get(pdbfile); + if (cms != null) + { + int mdlNum = cms.get(0).getModelNumber(); + + viewerCommandHistory(false); + viewer.stopListening(); + if (resetLastRes.length() > 0) + { + viewer.sendChimeraCommand(resetLastRes.toString(), false); + } + + eval.setLength(0); + eval.append("display "); // +modelNum + + resetLastRes.setLength(0); + resetLastRes.append("~display "); + { + eval.append(" #" + (mdlNum)); + resetLastRes.append("#" + (mdlNum)); + } + // complete select string + + eval.append(":" + pdbResNum); + resetLastRes.append(":" + pdbResNum); + if (!chain.equals(" ")) + { + eval.append("." + chain); + resetLastRes.append("." + chain); + } + eval.append(eval.toString()); + + resetLastRes.append(resetLastRes.toString() + ); + + viewer.sendChimeraCommand(eval.toString(), false); + viewerCommandHistory(true); + viewer.startListening(); + } + } + + boolean debug = true; + + private void log(String message) + { + System.err.println("## Chimera log: " + message); + } + + private void viewerCommandHistory(boolean enable) + { + log("(Not yet implemented) History " + + ((debug || enable) ? "on" : "off")); + } + + public void loadInline(String string) + { + loadedInline = true; + // TODO: re JAL-623 + // viewer.loadInline(strModel, isAppend); + // could do this: + // construct fake fullPathName and fileName so we can identify the file + // later. + // Then, construct pass a reader for the string to Jmol. + // ((org.jmol.Viewer.Viewer) viewer).loadModelFromFile(fullPathName, + // fileName, null, reader, false, null, null, 0); + // viewer.openStringInline(string); + log("cannot load inline in Chimera, yet"); + } + + public void mouseOverStructure(int atomIndex, String strInfo) + { + // function to parse a mouseOver event from Chimera + // + int pdbResNum; + int alocsep = strInfo.indexOf("^"); + int mdlSep = strInfo.indexOf("/"); + int chainSeparator = strInfo.indexOf(":"), chainSeparator1 = -1; + + if (chainSeparator == -1) + { + chainSeparator = strInfo.indexOf("."); + if (mdlSep > -1 && mdlSep < chainSeparator) + { + chainSeparator1 = chainSeparator; + chainSeparator = mdlSep; + } + } + // handle insertion codes + if (alocsep != -1) + { + pdbResNum = Integer.parseInt(strInfo.substring( + strInfo.indexOf("]") + 1, alocsep)); + + } + else + { + pdbResNum = Integer.parseInt(strInfo.substring( + strInfo.indexOf("]") + 1, chainSeparator)); + } + String chainId; + + if (strInfo.indexOf(":") > -1) + chainId = strInfo.substring(strInfo.indexOf(":") + 1, + strInfo.indexOf(".")); + else + { + chainId = " "; + } + + String pdbfilename = modelFileNames[frameNo]; // default is first or current + // model + if (mdlSep > -1) + { + if (chainSeparator1 == -1) + { + chainSeparator1 = strInfo.indexOf(".", mdlSep); + } + String mdlId = (chainSeparator1 > -1) ? strInfo.substring(mdlSep + 1, + chainSeparator1) : strInfo.substring(mdlSep + 1); + try + { + // recover PDB filename for the model hovered over. + int _mp = _modelFileNameMap.length - 1, mnumber = new Integer(mdlId) + .intValue() - 1; + while (mnumber < _modelFileNameMap[_mp]) + { + _mp--; + } + pdbfilename = modelFileNames[_mp]; + if (pdbfilename == null) + { + // pdbfilename = new File(viewer.getModelFileName(mnumber)) + // .getAbsolutePath(); + } + + } catch (Exception e) + { + } + ; + } + if (lastMessage == null || !lastMessage.equals(strInfo)) + ssm.mouseOverStructure(pdbResNum, chainId, pdbfilename); + + lastMessage = strInfo; + } + + public void notifyAtomPicked(int atomIndex, String strInfo, String strData) + { + /** + * this implements the toggle label behaviour copied from the original + * structure viewer, MCView + */ + if (strData != null) + { + System.err.println("Ignoring additional pick data string " + strData); + } + // rewrite these selections for chimera (DNA, RNA and protein) + int chainSeparator = strInfo.indexOf(":"); + int p = 0; + if (chainSeparator == -1) + chainSeparator = strInfo.indexOf("."); + + String picked = strInfo.substring(strInfo.indexOf("]") + 1, + chainSeparator); + String mdlString = ""; + if ((p = strInfo.indexOf(":")) > -1) + picked += strInfo.substring(p + 1, strInfo.indexOf(".")); + + if ((p = strInfo.indexOf("/")) > -1) + { + mdlString += strInfo.substring(p, strInfo.indexOf(" #")); + } + picked = "((" + picked + ".CA" + mdlString + ")|(" + picked + ".P" + + mdlString + "))"; + viewerCommandHistory(false); + + if (!atomsPicked.contains(picked)) + { + viewer.select(picked); + atomsPicked.addElement(picked); + } + else + { + viewer.select("not " + picked); + atomsPicked.removeElement(picked); + } + viewerCommandHistory(true); + // TODO: in application this happens + // + // if (scriptWindow != null) + // { + // scriptWindow.sendConsoleMessage(strInfo); + // scriptWindow.sendConsoleMessage("\n"); + // } + + } + + // incremented every time a load notification is successfully handled - + // lightweight mechanism for other threads to detect when they can start + // referrring to new structures. + private long loadNotifiesHandled = 0; + + public long getLoadNotifiesHandled() + { + return loadNotifiesHandled; + } + + public void notifyFileLoaded(String fullPathName, String fileName2, + String modelName, String errorMsg, int modelParts) + { + if (errorMsg != null) + { + fileLoadingError = errorMsg; + refreshGUI(); + return; + } + // TODO: deal sensibly with models loaded inLine: + // modelName will be null, as will fullPathName. + + // the rest of this routine ignores the arguments, and simply interrogates + // the Jmol view to find out what structures it contains, and adds them to + // the structure selection manager. + fileLoadingError = null; + String[] oldmodels = modelFileNames; + modelFileNames = null; + chainNames = new Vector(); + chainFile = new Hashtable(); + boolean notifyLoaded = false; + String[] modelfilenames = getPdbFile(); + // first check if we've lost any structures + if (oldmodels != null && oldmodels.length > 0) + { + int oldm = 0; + for (int i = 0; i < oldmodels.length; i++) + { + for (int n = 0; n < modelfilenames.length; n++) + { + if (modelfilenames[n] == oldmodels[i]) + { + oldmodels[i] = null; + break; + } + } + if (oldmodels[i] != null) + { + oldm++; + } + } + if (oldm > 0) + { + String[] oldmfn = new String[oldm]; + oldm = 0; + for (int i = 0; i < oldmodels.length; i++) + { + if (oldmodels[i] != null) + { + oldmfn[oldm++] = oldmodels[i]; + } + } + // deregister the Jmol instance for these structures - we'll add + // ourselves again at the end for the current structure set. + ssm.removeStructureViewerListener(this, oldmfn); + } + } + + // register ourselves as a listener and notify the gui that it needs to + // update itself. + ssm.addStructureViewerListener(this); + + if (notifyLoaded) + { + FeatureRenderer fr = getFeatureRenderer(null); + if (fr != null) + { + fr.featuresAdded(); + } + refreshGUI(); + loadNotifiesHandled++; + } + setLoadingFromArchive(false); + } + + public void setJalviewColourScheme(ColourSchemeI cs) + { + colourBySequence = false; + + if (cs == null) + return; + + String res; + int index; + Color col; + viewerCommandHistory(false); + // TODO: Switch between nucleotide or aa selection expressions + Enumeration en = ResidueProperties.aa3Hash.keys(); + StringBuffer command = new StringBuffer("select *;color white;"); + while (en.hasMoreElements()) + { + res = en.nextElement().toString(); + index = ((Integer) ResidueProperties.aa3Hash.get(res)).intValue(); + if (index > 20) + continue; + + col = cs.findColour(ResidueProperties.aa[index].charAt(0)); + // TODO: need colour string function and res selection here + command.append("select " + res + ";color[" + col.getRed() + "," + + col.getGreen() + "," + col.getBlue() + "];"); + } + + evalStateCommand(command.toString()); + viewerCommandHistory(true); + } + + public void showHelp() + { + // chimera help + showUrl("http://jmol.sourceforge.net/docs/JmolUserGuide/", "jmolHelp"); + } + + /** + * open the URL somehow + * + * @param target + */ + public abstract void showUrl(String url, String target); + + /** + * called when the binding thinks the UI needs to be refreshed after a Jmol + * state change. this could be because structures were loaded, or because an + * error has occured. + */ + public abstract void refreshGUI(); + + public void componentResized(ComponentEvent e) + { + + } + + public void componentMoved(ComponentEvent e) + { + + } + + public void componentShown(ComponentEvent e) + { + } + + public void componentHidden(ComponentEvent e) + { + } + + public void setLoadingFromArchive(boolean loadingFromArchive) + { + this.loadingFromArchive = loadingFromArchive; + } + + /** + * + * @return true if Jmol is still restoring state or loading is still going on + * (see setFinsihedLoadingFromArchive) + */ + public boolean isLoadingFromArchive() + { + return loadingFromArchive && !loadingFinished; + } + + /** + * modify flag which controls if sequence colouring events are honoured by the + * binding. Should be true for normal operation + * + * @param finishedLoading + */ + public void setFinishedLoadingFromArchive(boolean finishedLoading) + { + loadingFinished = finishedLoading; + } + + public void setBackgroundColour(java.awt.Color col) + { + viewerCommandHistory(false); + // todo set background colour + viewer.sendChimeraCommand( + "background [" + col.getRed() + "," + col.getGreen() + "," + + col.getBlue() + "];", false); + viewerCommandHistory(true); + } + + /** + * add structures and any known sequence associations + * + * @returns the pdb entries added to the current set. + */ + public synchronized PDBEntry[] addSequenceAndChain(PDBEntry[] pdbe, + SequenceI[][] seq, String[][] chns) + { + int pe = -1; + Vector v = new Vector(); + Vector rtn = new Vector(); + for (int i = 0; i < pdbentry.length; i++) + { + v.addElement(pdbentry[i]); + } + for (int i = 0; i < pdbe.length; i++) + { + int r = v.indexOf(pdbe[i]); + if (r == -1 || r >= pdbentry.length) + { + rtn.addElement(new int[] + { v.size(), i }); + v.addElement(pdbe[i]); + } + else + { + // just make sure the sequence/chain entries are all up to date + addSequenceAndChain(r, seq[i], chns[i]); + } + } + pdbe = new PDBEntry[v.size()]; + v.copyInto(pdbe); + pdbentry = pdbe; + if (rtn.size() > 0) + { + // expand the tied seuqence[] and string[] arrays + SequenceI[][] sqs = new SequenceI[pdbentry.length][]; + String[][] sch = new String[pdbentry.length][]; + System.arraycopy(sequence, 0, sqs, 0, sequence.length); + System.arraycopy(chains, 0, sch, 0, this.chains.length); + sequence = sqs; + chains = sch; + pdbe = new PDBEntry[rtn.size()]; + for (int r = 0; r < pdbe.length; r++) + { + int[] stri = ((int[]) rtn.elementAt(r)); + // record the pdb file as a new addition + pdbe[r] = pdbentry[stri[0]]; + // and add the new sequence/chain entries + addSequenceAndChain(stri[0], seq[stri[1]], chns[stri[1]]); + } + } + else + { + pdbe = null; + } + return pdbe; + } + + public void addSequence(int pe, SequenceI[] seq) + { + // add sequences to the pe'th pdbentry's seuqence set. + addSequenceAndChain(pe, seq, null); + } + + private void addSequenceAndChain(int pe, SequenceI[] seq, String[] tchain) + { + if (pe < 0 || pe >= pdbentry.length) + { + throw new Error( + "Implementation error - no corresponding pdbentry (for index " + + pe + ") to add sequences mappings to"); + } + final String nullChain = "TheNullChain"; + Vector s = new Vector(); + Vector c = new Vector(); + if (chains == null) + { + chains = new String[pdbentry.length][]; + } + if (sequence[pe] != null) + { + for (int i = 0; i < sequence[pe].length; i++) + { + s.addElement(sequence[pe][i]); + if (chains[pe] != null) + { + if (i < chains[pe].length) + { + c.addElement(chains[pe][i]); + } + else + { + c.addElement(nullChain); + } + } + else + { + if (tchain != null && tchain.length > 0) + { + c.addElement(nullChain); + } + } + } + } + for (int i = 0; i < seq.length; i++) + { + if (!s.contains(seq[i])) + { + s.addElement(seq[i]); + if (tchain != null && i < tchain.length) + { + c.addElement(tchain[i] == null ? nullChain : tchain[i]); + } + } + } + SequenceI[] tmp = new SequenceI[s.size()]; + s.copyInto(tmp); + sequence[pe] = tmp; + if (c.size() > 0) + { + String[] tch = new String[c.size()]; + c.copyInto(tch); + for (int i = 0; i < tch.length; i++) + { + if (tch[i] == nullChain) + { + tch[i] = null; + } + } + chains[pe] = tch; + } + else + { + chains[pe] = null; + } + } + + /** + * + * @param pdbfile + * @return text report of alignment between pdbfile and any associated + * alignment sequences + */ + public String printMapping(String pdbfile) + { + return ssm.printMapping(pdbfile); + } + +} diff --git a/src/jalview/gui/ChimeraViewFrame.java b/src/jalview/gui/ChimeraViewFrame.java new file mode 100644 index 0000000..a3ff00b --- /dev/null +++ b/src/jalview/gui/ChimeraViewFrame.java @@ -0,0 +1,1228 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 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 jalview.api.SequenceStructureBinding; +import jalview.api.structures.JalviewStructureDisplayI; +import jalview.bin.Cache; +import jalview.datamodel.Alignment; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.ColumnSelection; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.SequenceI; +import jalview.gui.ViewSelectionMenu.ViewSetProvider; +import jalview.io.AppletFormatAdapter; +import jalview.io.JalviewFileChooser; +import jalview.io.JalviewFileView; +import jalview.jbgui.GStructureViewer; +import jalview.schemes.BuriedColourScheme; +import jalview.schemes.ColourSchemeI; +import jalview.schemes.HelixColourScheme; +import jalview.schemes.HydrophobicColourScheme; +import jalview.schemes.PurinePyrimidineColourScheme; +import jalview.schemes.StrandColourScheme; +import jalview.schemes.TaylorColourScheme; +import jalview.schemes.TurnColourScheme; +import jalview.schemes.ZappoColourScheme; +import jalview.util.MessageManager; +import jalview.util.Platform; + +import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; +import java.util.Vector; + +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JColorChooser; +import javax.swing.JInternalFrame; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.event.InternalFrameAdapter; +import javax.swing.event.InternalFrameEvent; +import javax.swing.event.MenuEvent; +import javax.swing.event.MenuListener; + +/** + * GUI elements for handlnig an external chimera display + * + * @author jprocter + * + */ +public class ChimeraViewFrame extends GStructureViewer implements Runnable, + ViewSetProvider, JalviewStructureDisplayI + +{ + JalviewChimeraBindingModel jmb; + + AlignmentPanel ap; + + Vector atomsPicked = new Vector(); + + private boolean addingStructures = false; + + ViewSelectionMenu seqColourBy; + + /** + * + * @param files + * @param ids + * @param seqs + * @param ap + * @param usetoColour + * - add the alignment panel to the list used for colouring these + * structures + * @param useToAlign + * - add the alignment panel to the list used for aligning these + * structures + * @param leaveColouringToJmol + * - do not update the colours from any other source. Jmol is + * handling them + * @param loadStatus + * @param bounds + * @param viewid + * + * public ChimeraViewFrame(String[] files, String[] ids, + * SequenceI[][] seqs, AlignmentPanel ap, boolean usetoColour, + * boolean useToAlign, boolean leaveColouringToJmol, String + * loadStatus, Rectangle bounds, String viewid) { PDBEntry[] + * pdbentrys = new PDBEntry[files.length]; for (int i = 0; i < + * pdbentrys.length; i++) { PDBEntry pdbentry = new PDBEntry(); + * pdbentry.setFile(files[i]); pdbentry.setId(ids[i]); pdbentrys[i] = + * pdbentry; } // / TODO: check if protocol is needed to be set, and + * if chains are // autodiscovered. jmb = new + * JalviewChimeraBindingModel(this, + * ap.getStructureSelectionManager(), pdbentrys, seqs, null, null); + * + * jmb.setLoadingFromArchive(true); addAlignmentPanel(ap); if + * (useToAlign) { useAlignmentPanelForSuperposition(ap); } if + * (leaveColouringToJmol || !usetoColour) { + * jmb.setColourBySequence(false); seqColour.setSelected(false); + * jmolColour.setSelected(true); } if (usetoColour) { + * useAlignmentPanelForColourbyseq(ap); + * jmb.setColourBySequence(true); seqColour.setSelected(true); + * jmolColour.setSelected(false); } this.setBounds(bounds); + * initMenus(); viewId = viewid; // + * jalview.gui.Desktop.addInternalFrame(this, "Loading File", // + * bounds.width,bounds.height); + * + * this.addInternalFrameListener(new InternalFrameAdapter() { public + * void internalFrameClosing(InternalFrameEvent internalFrameEvent) { + * closeViewer(); } }); initJmol(loadStatus); // pdbentry, seq, + * JBPCHECK! + * + * } + */ + private void initMenus() + { + seqColour.setSelected(jmb.isColourBySequence()); + jmolColour.setSelected(!jmb.isColourBySequence()); + if (_colourwith == null) + { + _colourwith = new Vector(); + } + if (_alignwith == null) + { + _alignwith = new Vector(); + } + + seqColourBy = new ViewSelectionMenu("Colour by ..", this, _colourwith, + new ItemListener() + { + + @Override + public void itemStateChanged(ItemEvent e) + { + if (!seqColour.isSelected()) + { + seqColour.doClick(); + } + else + { + // update the jmol display now. + seqColour_actionPerformed(null); + } + } + }); + viewMenu.add(seqColourBy); + final ItemListener handler; + JMenu alpanels = new ViewSelectionMenu("Superpose with ..", this, + _alignwith, handler = new ItemListener() + { + + @Override + public void itemStateChanged(ItemEvent e) + { + alignStructs.setEnabled(_alignwith.size() > 0); + alignStructs.setToolTipText(MessageManager + .formatMessage( + "label.align_structures_using_linked_alignment_views", + new String[] + { new Integer(_alignwith.size()).toString() })); + } + }); + handler.itemStateChanged(null); + jmolActionMenu.add(alpanels); + jmolActionMenu.addMenuListener(new MenuListener() + { + + @Override + public void menuSelected(MenuEvent e) + { + handler.itemStateChanged(null); + } + + @Override + public void menuDeselected(MenuEvent e) + { + // TODO Auto-generated method stub + + } + + @Override + public void menuCanceled(MenuEvent e) + { + // TODO Auto-generated method stub + + } + }); + } + + IProgressIndicator progressBar = null; + + /** + * add a single PDB structure to a new or existing Jmol view + * + * @param pdbentry + * @param seq + * @param chains + * @param ap + */ + public ChimeraViewFrame(PDBEntry pdbentry, SequenceI[] seq, + String[] chains, final AlignmentPanel ap) + { + progressBar = ap.alignFrame; + // //////////////////////////////// + // Is the pdb file already loaded? + String alreadyMapped = ap.getStructureSelectionManager() + .alreadyMappedToFile(pdbentry.getId()); + + if (alreadyMapped != null) + { + int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop, + MessageManager.formatMessage( + "label.pdb_entry_is_already_displayed", new String[] + { pdbentry.getId() }), MessageManager.formatMessage( + "label.map_sequences_to_visible_window", new String[] + { pdbentry.getId() }), JOptionPane.YES_NO_OPTION); + + if (option == JOptionPane.YES_OPTION) + { + // TODO : Fix multiple seq to one chain issue here. + ap.getStructureSelectionManager().setMapping(seq, chains, + alreadyMapped, AppletFormatAdapter.FILE); + if (ap.seqPanel.seqCanvas.fr != null) + { + ap.seqPanel.seqCanvas.fr.featuresAdded(); + ap.paintAlignment(true); + } + + // Now this AppJmol is mapped to new sequences. We must add them to + // the exisiting array + JInternalFrame[] frames = Desktop.instance.getAllFrames(); + + for (int i = 0; i < frames.length; i++) + { + if (frames[i] instanceof ChimeraViewFrame) + { + final ChimeraViewFrame topJmol = ((ChimeraViewFrame) frames[i]); + // JBPNOTE: this looks like a binding routine, rather than a gui + // routine + for (int pe = 0; pe < topJmol.jmb.pdbentry.length; pe++) + { + if (topJmol.jmb.pdbentry[pe].getFile().equals(alreadyMapped)) + { + topJmol.jmb.addSequence(pe, seq); + topJmol.addAlignmentPanel(ap); + // add it to the set used for colouring + topJmol.useAlignmentPanelForColourbyseq(ap); + topJmol.buildChimeraActionMenu(); + ap.getStructureSelectionManager() + .sequenceColoursChanged(ap); + break; + } + } + } + } + + return; + } + } + // ///////////////////////////////// + // Check if there are other Jmol views involving this alignment + // and prompt user about adding this molecule to one of them + Vector existingViews = getJmolsFor(ap); + if (existingViews.size() > 0) + { + Enumeration jm = existingViews.elements(); + while (jm.hasMoreElements()) + { + ChimeraViewFrame topJmol = (ChimeraViewFrame) jm.nextElement(); + // TODO: highlight topJmol in view somehow + int option = JOptionPane + .showInternalConfirmDialog( + Desktop.desktop, + MessageManager.formatMessage( + "label.add_pdbentry_to_view", new String[] + { pdbentry.getId(), topJmol.getTitle() }), + MessageManager + .getString("label.align_to_existing_structure_view"), + JOptionPane.YES_NO_OPTION); + if (option == JOptionPane.YES_OPTION) + { + topJmol.useAlignmentPanelForSuperposition(ap); + topJmol.addStructure(pdbentry, seq, chains, true, ap.alignFrame); + return; + } + } + } + // ///////////////////////////////// + openNewJmol(ap, new PDBEntry[] + { pdbentry }, new SequenceI[][] + { seq }); + } + + private void openNewJmol(AlignmentPanel ap, PDBEntry[] pdbentrys, + SequenceI[][] seqs) + { + progressBar = ap.alignFrame; + jmb = new JalviewChimeraBindingModel(this, + ap.getStructureSelectionManager(), pdbentrys, seqs, null, null); + addAlignmentPanel(ap); + useAlignmentPanelForColourbyseq(ap); + if (pdbentrys.length > 1) + { + alignAddedStructures = true; + useAlignmentPanelForSuperposition(ap); + } + jmb.setColourBySequence(true); + setSize(400, 400); // probably should be a configurable/dynamic default here + initMenus(); + worker = null; + { + addingStructures = false; + worker = new Thread(this); + worker.start(); + } + this.addInternalFrameListener(new InternalFrameAdapter() + { + public void internalFrameClosing(InternalFrameEvent internalFrameEvent) + { + closeViewer(); + } + }); + + } + + /** + * create a new Jmol containing several structures superimposed using the + * given alignPanel. + * + * @param ap + * @param pe + * @param seqs + */ + public ChimeraViewFrame(AlignmentPanel ap, PDBEntry[] pe, + SequenceI[][] seqs) + { + openNewJmol(ap, pe, seqs); + } + + /** + * list of sequenceSet ids associated with the view + */ + ArrayList _aps = new ArrayList(); + + public AlignmentPanel[] getAllAlignmentPanels() + { + AlignmentPanel[] t, list = new AlignmentPanel[0]; + for (String setid : _aps) + { + AlignmentPanel[] panels = PaintRefresher.getAssociatedPanels(setid); + if (panels != null) + { + t = new AlignmentPanel[list.length + panels.length]; + System.arraycopy(list, 0, t, 0, list.length); + System.arraycopy(panels, 0, t, list.length, panels.length); + list = t; + } + } + + return list; + } + + /** + * list of alignment panels to use for superposition + */ + Vector _alignwith = new Vector(); + + /** + * list of alignment panels that are used for colouring structures by aligned + * sequences + */ + Vector _colourwith = new Vector(); + + /** + * set the primary alignmentPanel reference and add another alignPanel to the + * list of ones to use for colouring and aligning + * + * @param nap + */ + public void addAlignmentPanel(AlignmentPanel nap) + { + if (ap == null) + { + ap = nap; + } + if (!_aps.contains(nap.av.getSequenceSetId())) + { + _aps.add(nap.av.getSequenceSetId()); + } + } + + /** + * remove any references held to the given alignment panel + * + * @param nap + */ + public void removeAlignmentPanel(AlignmentPanel nap) + { + try + { + _alignwith.remove(nap); + _colourwith.remove(nap); + if (ap == nap) + { + ap = null; + for (AlignmentPanel aps : getAllAlignmentPanels()) + { + if (aps != nap) + { + ap = aps; + break; + } + } + } + } catch (Exception ex) + { + } + if (ap != null) + { + buildChimeraActionMenu(); + } + } + + public void useAlignmentPanelForSuperposition(AlignmentPanel nap) + { + addAlignmentPanel(nap); + if (!_alignwith.contains(nap)) + { + _alignwith.add(nap); + } + } + + public void excludeAlignmentPanelForSuperposition(AlignmentPanel nap) + { + if (_alignwith.contains(nap)) + { + _alignwith.remove(nap); + } + } + + public void useAlignmentPanelForColourbyseq(AlignmentPanel nap, + boolean enableColourBySeq) + { + useAlignmentPanelForColourbyseq(nap); + jmb.setColourBySequence(enableColourBySeq); + seqColour.setSelected(enableColourBySeq); + jmolColour.setSelected(!enableColourBySeq); + } + + public void useAlignmentPanelForColourbyseq(AlignmentPanel nap) + { + addAlignmentPanel(nap); + if (!_colourwith.contains(nap)) + { + _colourwith.add(nap); + } + } + + public void excludeAlignmentPanelForColourbyseq(AlignmentPanel nap) + { + if (_colourwith.contains(nap)) + { + _colourwith.remove(nap); + } + } + + /** + * pdb retrieval thread. + */ + private Thread worker = null; + + /** + * add a new structure (with associated sequences and chains) to this viewer, + * retrieving it if necessary first. + * + * @param pdbentry + * @param seq + * @param chains + * @param alignFrame + * @param align + * if true, new structure(s) will be align using associated alignment + */ + private void addStructure(final PDBEntry pdbentry, final SequenceI[] seq, + final String[] chains, final boolean b, + final IProgressIndicator alignFrame) + { + if (pdbentry.getFile() == null) + { + if (worker != null && worker.isAlive()) + { + // a retrieval is in progress, wait around and add ourselves to the + // queue. + new Thread(new Runnable() + { + public void run() + { + while (worker != null && worker.isAlive() && _started) + { + try + { + Thread.sleep(100 + ((int) Math.random() * 100)); + + } catch (Exception e) + { + } + + } + // and call ourselves again. + addStructure(pdbentry, seq, chains, b, alignFrame); + } + }).start(); + return; + } + } + // otherwise, start adding the structure. + jmb.addSequenceAndChain(new PDBEntry[] + { pdbentry }, new SequenceI[][] + { seq }, new String[][] + { chains }); + addingStructures = true; + _started = false; + alignAddedStructures = b; + progressBar = alignFrame; // visual indication happens on caller frame. + (worker = new Thread(this)).start(); + return; + } + + private Vector getJmolsFor(AlignmentPanel ap2) + { + Vector otherJmols = new Vector(); + // Now this AppJmol is mapped to new sequences. We must add them to + // the exisiting array + JInternalFrame[] frames = Desktop.instance.getAllFrames(); + + for (int i = 0; i < frames.length; i++) + { + if (frames[i] instanceof ChimeraViewFrame) + { + ChimeraViewFrame topJmol = ((ChimeraViewFrame) frames[i]); + if (topJmol.isLinkedWith(ap2)) + { + otherJmols.addElement(topJmol); + } + } + } + return otherJmols; + } + + void initChimera(String command) + { + jmb.setFinishedInit(false); + // TODO: consider waiting until the structure/view is fully loaded before + // displaying + jalview.gui.Desktop.addInternalFrame(this, jmb.getViewerTitle(), + getBounds().width, getBounds().height); + if (command == null) + { + command = ""; + } + jmb.evalStateCommand(command); + jmb.setFinishedInit(true); + } + + void setChainMenuItems(Vector chains) + { + chainMenu.removeAll(); + if (chains == null) + { + return; + } + JMenuItem menuItem = new JMenuItem( + MessageManager.getString("label.all")); + menuItem.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent evt) + { + allChainsSelected = true; + for (int i = 0; i < chainMenu.getItemCount(); i++) + { + if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem) + ((JCheckBoxMenuItem) chainMenu.getItem(i)).setSelected(true); + } + centerViewer(); + allChainsSelected = false; + } + }); + + chainMenu.add(menuItem); + + for (int c = 0; c < chains.size(); c++) + { + menuItem = new JCheckBoxMenuItem(chains.elementAt(c).toString(), true); + menuItem.addItemListener(new ItemListener() + { + public void itemStateChanged(ItemEvent evt) + { + if (!allChainsSelected) + centerViewer(); + } + }); + + chainMenu.add(menuItem); + } + } + + boolean allChainsSelected = false; + + private boolean alignAddedStructures = false; + + void centerViewer() + { + Vector toshow = new Vector(); + String lbl; + int mlength, p, mnum; + for (int i = 0; i < chainMenu.getItemCount(); i++) + { + if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem) + { + JCheckBoxMenuItem item = (JCheckBoxMenuItem) chainMenu.getItem(i); + if (item.isSelected()) + { + toshow.addElement(item.getText()); + } + } + } + jmb.centerViewer(toshow); + } + + public void closeViewer() + { + jmb.closeViewer(); + ap = null; + _aps.clear(); + _alignwith.clear(); + _colourwith.clear(); + // TODO: check for memory leaks where instance isn't finalised because jmb + // holds a reference to the window + jmb = null; + } + + /** + * state flag for PDB retrieval thread + */ + private boolean _started = false; + + public void run() + { + _started = true; + String pdbid = ""; + // todo - record which pdbids were successfuly imported. + StringBuffer errormsgs = new StringBuffer(), files = new StringBuffer(); + List fileToLoad=new ArrayList(); + List filePDB = new ArrayList(); + List filePDBpos =new ArrayList(); + try + { + String[] curfiles = jmb.getPdbFile(); // files currently in viewer + // TODO: replace with reference fetching/transfer code (validate PDBentry + // as a DBRef?) + jalview.ws.dbsources.Pdb pdbclient = new jalview.ws.dbsources.Pdb(); + for (int pi = 0; pi < jmb.pdbentry.length; pi++) + { + String file = new File(jmb.pdbentry[pi].getFile()) + .getAbsoluteFile().getPath(); + if (file == null) + { + // retrieve the pdb and store it locally + AlignmentI pdbseq = null; + pdbid = jmb.pdbentry[pi].getId(); + long hdl = pdbid.hashCode() - System.currentTimeMillis(); + if (progressBar != null) + { + progressBar.setProgressBar("Fetching PDB " + pdbid, hdl); + } + try + { + pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.pdbentry[pi] + .getId()); + } catch (OutOfMemoryError oomerror) + { + new OOMWarning("Retrieving PDB id " + pdbid, oomerror); + } catch (Exception ex) + { + ex.printStackTrace(); + errormsgs.append("'" + pdbid + "'"); + } + if (progressBar != null) + { + progressBar.setProgressBar("Finished.", hdl); + } + if (pdbseq != null) + { + // just transfer the file name from the first sequence's first + // PDBEntry + file = new File(((PDBEntry) pdbseq.getSequenceAt(0).getPDBId() + .elementAt(0)).getFile()).getAbsolutePath(); + jmb.pdbentry[pi].setFile(file); + + files.append(" \"" + Platform.escapeString(file) + "\""); + } + else + { + errormsgs.append("'" + pdbid + "' "); + } + } + else + { + if (curfiles != null && curfiles.length > 0) + { + addingStructures = true; // already files loaded. + for (int c = 0; c < curfiles.length; c++) + { + if (curfiles[c].equals(file)) + { + file = null; + break; + } + } + } + + if (file != null) + { + fileToLoad.add(file); + filePDB.add(jmb.pdbentry[pi]); + filePDBpos.add(Integer.valueOf(pi)); + files.append(" \"" + Platform.escapeString(file) + "\""); + } + } + } + } catch (OutOfMemoryError oomerror) + { + new OOMWarning("Retrieving PDB files: " + pdbid, oomerror); + } catch (Exception ex) + { + ex.printStackTrace(); + errormsgs.append("When retrieving pdbfiles : current was: '" + pdbid + + "'"); + } + if (errormsgs.length() > 0) + { + + JOptionPane.showInternalMessageDialog(Desktop.desktop, MessageManager + .formatMessage("label.pdb_entries_couldnt_be_retrieved", + new String[] + { errormsgs.toString() }), MessageManager + .getString("label.couldnt_load_file"), + JOptionPane.ERROR_MESSAGE); + + } + long lastnotify = jmb.getLoadNotifiesHandled(); + if (files.length() > 0) + { + if (!addingStructures) + { + try + { + initChimera(""); + } catch (Exception ex) + { + Cache.log.error("Couldn't open Chimera viewer!", ex); + } + } + int num=-1; + for (PDBEntry pe : filePDB) + { + num++; + if (pe.getFile() != null) + { + try + { + int pos=filePDBpos.get(num).intValue(); + jmb.openFile(pe); + jmb.addSequence(pos, jmb.sequence[pos]); + File fl=new File(pe.getFile()); + String protocol = AppletFormatAdapter.URL; + try + { + if (fl.exists()) + { + protocol = AppletFormatAdapter.FILE; + } + } catch (Exception e) + { + } catch (Error e) + { + } + // Explicitly map to the filename used by Jmol ; + jmb.ssm.setMapping(jmb.sequence[pos], null, pe.getFile(), + protocol); + // pdbentry[pe].getFile(), protocol); + } catch (OutOfMemoryError oomerror) + { + new OOMWarning( + "When trying to open and map structures from Chimera!", + oomerror); + } catch (Exception ex) + { + Cache.log.error("Couldn't open " + pe.getFile() + + " in Chimera viewer!", ex); + } finally + { + Cache.log.debug("File locations are " + files); + } + } + } + // jmb.getPdbFile(); + jmb.setFinishedInit(true); + jmb.setLoadingFromArchive(false); + + // refresh the sequence colours for the new structure(s) + for (AlignmentPanel ap : _colourwith) + { + jmb.updateColours(ap); + } + // do superposition if asked to + if (alignAddedStructures) + { + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + alignStructs_withAllAlignPanels(); + } + }); + alignAddedStructures = false; + } + addingStructures = false; + } + _started = false; + worker = null; + } + + public void pdbFile_actionPerformed(ActionEvent actionEvent) + { + JalviewFileChooser chooser = new JalviewFileChooser( + jalview.bin.Cache.getProperty("LAST_DIRECTORY")); + + chooser.setFileView(new JalviewFileView()); + chooser.setDialogTitle("Save PDB File"); + chooser.setToolTipText(MessageManager.getString("action.save")); + + int value = chooser.showSaveDialog(this); + + if (value == JalviewFileChooser.APPROVE_OPTION) + { + try + { + // TODO: cope with multiple PDB files in view + BufferedReader in = new BufferedReader(new FileReader( + jmb.getPdbFile()[0])); + File outFile = chooser.getSelectedFile(); + + PrintWriter out = new PrintWriter(new FileOutputStream(outFile)); + String data; + while ((data = in.readLine()) != null) + { + if (!(data.indexOf("

") > -1 || data.indexOf("
") > -1)) + { + out.println(data); + } + } + out.close(); + } catch (Exception ex) + { + ex.printStackTrace(); + } + } + } + + public void viewMapping_actionPerformed(ActionEvent actionEvent) + { + jalview.gui.CutAndPasteTransfer cap = new jalview.gui.CutAndPasteTransfer(); + try + { + for (int pdbe = 0; pdbe < jmb.pdbentry.length; pdbe++) + { + cap.appendText(jmb.printMapping(jmb.pdbentry[pdbe].getFile())); + cap.appendText("\n"); + } + } catch (OutOfMemoryError e) + { + new OOMWarning( + "composing sequence-structure alignments for display in text box.", + e); + cap.dispose(); + return; + } + jalview.gui.Desktop.addInternalFrame(cap, + MessageManager.getString("label.pdb_sequence_mapping"), 550, + 600); + } + + /** + * DOCUMENT ME! + * + * @param e + * DOCUMENT ME! + */ + public void eps_actionPerformed(ActionEvent e) + { + throw new Error("EPS Generation not yet implemented."); + } + + /** + * DOCUMENT ME! + * + * @param e + * DOCUMENT ME! + */ + public void png_actionPerformed(ActionEvent e) + { + throw new Error("PNG Generation not yet implemented."); + } + + public void jmolColour_actionPerformed(ActionEvent actionEvent) + { + if (jmolColour.isSelected()) + { + // disable automatic sequence colouring. + jmb.setColourBySequence(false); + } + } + + public void seqColour_actionPerformed(ActionEvent actionEvent) + { + jmb.setColourBySequence(seqColour.isSelected()); + if (_colourwith == null) + { + _colourwith = new Vector(); + } + if (jmb.isColourBySequence()) + { + if (!jmb.isLoadingFromArchive()) + { + if (_colourwith.size() == 0 && ap != null) + { + // Make the currently displayed alignment panel the associated view + _colourwith.add(ap.alignFrame.alignPanel); + } + } + // Set the colour using the current view for the associated alignframe + for (AlignmentPanel ap : _colourwith) + { + jmb.colourBySequence(ap.av.showSequenceFeatures, ap); + } + } + } + + public void chainColour_actionPerformed(ActionEvent actionEvent) + { + chainColour.setSelected(true); + jmb.colourByChain(); + } + + public void chargeColour_actionPerformed(ActionEvent actionEvent) + { + chargeColour.setSelected(true); + jmb.colourByCharge(); + } + + public void zappoColour_actionPerformed(ActionEvent actionEvent) + { + zappoColour.setSelected(true); + jmb.setJalviewColourScheme(new ZappoColourScheme()); + } + + public void taylorColour_actionPerformed(ActionEvent actionEvent) + { + taylorColour.setSelected(true); + jmb.setJalviewColourScheme(new TaylorColourScheme()); + } + + public void hydroColour_actionPerformed(ActionEvent actionEvent) + { + hydroColour.setSelected(true); + jmb.setJalviewColourScheme(new HydrophobicColourScheme()); + } + + public void helixColour_actionPerformed(ActionEvent actionEvent) + { + helixColour.setSelected(true); + jmb.setJalviewColourScheme(new HelixColourScheme()); + } + + public void strandColour_actionPerformed(ActionEvent actionEvent) + { + strandColour.setSelected(true); + jmb.setJalviewColourScheme(new StrandColourScheme()); + } + + public void turnColour_actionPerformed(ActionEvent actionEvent) + { + turnColour.setSelected(true); + jmb.setJalviewColourScheme(new TurnColourScheme()); + } + + public void buriedColour_actionPerformed(ActionEvent actionEvent) + { + buriedColour.setSelected(true); + jmb.setJalviewColourScheme(new BuriedColourScheme()); + } + + public void purinePyrimidineColour_actionPerformed(ActionEvent actionEvent) + { + setJalviewColourScheme(new PurinePyrimidineColourScheme()); + } + + public void userColour_actionPerformed(ActionEvent actionEvent) + { + userColour.setSelected(true); + new UserDefinedColours(this, null); + } + + public void backGround_actionPerformed(ActionEvent actionEvent) + { + java.awt.Color col = JColorChooser.showDialog(this, + "Select Background Colour", null); + if (col != null) + { + jmb.setBackgroundColour(col); + } + } + + public void jmolHelp_actionPerformed(ActionEvent actionEvent) + { + try + { + jalview.util.BrowserLauncher + .openURL("https://www.cgl.ucsf.edu/chimera/docs/UsersGuide"); + } catch (Exception ex) + { + } + } + + String viewId = null; + + public String getViewId() + { + if (viewId == null) + { + viewId = System.currentTimeMillis() + "." + this.hashCode(); + } + return viewId; + } + + public void updateTitleAndMenus() + { + if (jmb.fileLoadingError != null && jmb.fileLoadingError.length() > 0) + { + repaint(); + return; + } + setChainMenuItems(jmb.chainNames); + + this.setTitle(jmb.getViewerTitle()); + if (jmb.getPdbFile().length > 1 && jmb.sequence.length > 1) + { + jmolActionMenu.setVisible(true); + } + if (!jmb.isLoadingFromArchive()) + { + seqColour_actionPerformed(null); + } + } + + protected void buildChimeraActionMenu() + { + if (_alignwith == null) + { + _alignwith = new Vector(); + } + if (_alignwith.size() == 0 && ap != null) + { + _alignwith.add(ap); + } + ; + for (Component c : jmolActionMenu.getMenuComponents()) + { + if (c != alignStructs) + { + jmolActionMenu.remove((JMenuItem) c); + } + } + final ItemListener handler; + } + + /* + * (non-Javadoc) + * + * @see + * jalview.jbgui.GStructureViewer#alignStructs_actionPerformed(java.awt.event + * .ActionEvent) + */ + @Override + protected void alignStructs_actionPerformed(ActionEvent actionEvent) + { + alignStructs_withAllAlignPanels(); + } + + private void alignStructs_withAllAlignPanels() + { + if (ap == null) + { + return; + } + ; + if (_alignwith.size() == 0) + { + _alignwith.add(ap); + } + ; + try + { + AlignmentI[] als = new Alignment[_alignwith.size()]; + ColumnSelection[] alc = new ColumnSelection[_alignwith.size()]; + int[] alm = new int[_alignwith.size()]; + int a = 0; + + for (AlignmentPanel ap : _alignwith) + { + als[a] = ap.av.getAlignment(); + alm[a] = -1; + alc[a++] = ap.av.getColumnSelection(); + } + jmb.superposeStructures(als, alm, alc); + } catch (Exception e) + { + StringBuffer sp = new StringBuffer(); + for (AlignmentPanel ap : _alignwith) + { + sp.append("'" + ap.alignFrame.getTitle() + "' "); + } + Cache.log.info("Couldn't align structures with the " + sp.toString() + + "associated alignment panels.", e); + + } + + } + + public void setJalviewColourScheme(ColourSchemeI ucs) + { + jmb.setJalviewColourScheme(ucs); + + } + + /** + * + * @param alignment + * @return first alignment panel displaying given alignment, or the default + * alignment panel + */ + public AlignmentPanel getAlignmentPanelFor(AlignmentI alignment) + { + for (AlignmentPanel ap : getAllAlignmentPanels()) + { + if (ap.av.getAlignment() == alignment) + { + return ap; + } + } + return ap; + } + + /** + * + * @param ap2 + * @return true if this Jmol instance is linked with the given alignPanel + */ + public boolean isLinkedWith(AlignmentPanel ap2) + { + return _aps.contains(ap2.av.getSequenceSetId()); + } + + public boolean isUsedforaligment(AlignmentPanel ap2) + { + + return (_alignwith != null) && _alignwith.contains(ap2); + } + + public boolean isUsedforcolourby(AlignmentPanel ap2) + { + return (_colourwith != null) && _colourwith.contains(ap2); + } + + /** + * + * @return TRUE if the view is NOT being coloured by sequence associations. + */ + public boolean isColouredByJmol() + { + return !jmb.isColourBySequence(); + } + + public SequenceStructureBinding getBinding() + { + return jmb; + } + +} diff --git a/src/jalview/gui/JalviewChimeraBindingModel.java b/src/jalview/gui/JalviewChimeraBindingModel.java new file mode 100644 index 0000000..f7c4878 --- /dev/null +++ b/src/jalview/gui/JalviewChimeraBindingModel.java @@ -0,0 +1,102 @@ +package jalview.gui; + +import jalview.api.AlignmentViewPanel; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.SequenceI; +import jalview.ext.rbvi.chimera.JalviewChimeraBinding; +import jalview.structure.StructureSelectionManager; + +public class JalviewChimeraBindingModel extends JalviewChimeraBinding +{ + private ChimeraViewFrame cvf; + + public JalviewChimeraBindingModel(ChimeraViewFrame chimeraViewFrame, + StructureSelectionManager ssm, PDBEntry[] pdbentry, + SequenceI[][] sequenceIs, String[][] chains, String protocol) + { + super(ssm, pdbentry, sequenceIs, chains, protocol); + cvf = chimeraViewFrame; + } + + FeatureRenderer fr = null; + + @Override + public jalview.api.FeatureRenderer getFeatureRenderer( + AlignmentViewPanel alignment) + { + AlignmentPanel ap = (alignment == null) ? cvf.ap + : (AlignmentPanel) alignment; + if (ap.av.showSequenceFeatures) + { + if (fr == null) + { + fr = ap.cloneFeatureRenderer(); + } + else + { + ap.updateFeatureRenderer(fr); + } + } + + return fr; + } + + @Override + public jalview.api.SequenceRenderer getSequenceRenderer( + AlignmentViewPanel alignment) + { + return new SequenceRenderer(((AlignmentPanel) alignment).av); + } + @Override + public void refreshGUI() + { + // appJmolWindow.repaint(); + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + cvf.updateTitleAndMenus(); + cvf.revalidate(); + } + }); + } + + public void updateColours(Object source) + { + AlignmentPanel ap = (AlignmentPanel) source, topap; + // ignore events from panels not used to colour this view + if (!cvf.isUsedforcolourby(ap)) + return; + if (!isLoadingFromArchive()) + { + colourBySequence(ap.av.getShowSequenceFeatures(), ap); + } + } + @Override + public void releaseReferences(Object svl) + { + // TODO Auto-generated method stub + + } + + @Override + protected void releaseUIResources() + { + // TODO Auto-generated method stub + + } + + @Override + public void refreshPdbEntries() + { + // TODO Auto-generated method stub + + } + + @Override + public void showUrl(String url, String target) + { + // TODO Auto-generated method stub + + } +} diff --git a/src/jalview/gui/StructureViewer.java b/src/jalview/gui/StructureViewer.java index ce22d84..e307aa9 100644 --- a/src/jalview/gui/StructureViewer.java +++ b/src/jalview/gui/StructureViewer.java @@ -66,17 +66,19 @@ public class StructureViewer public JalviewStructureDisplayI viewStructures(AlignmentPanel ap, PDBEntry[] pr, SequenceI[][] collateForPDB) { + return viewStructures(getViewerType(), ap, pr, collateForPDB); + } + public JalviewStructureDisplayI viewStructures(Viewer viewerType,AlignmentPanel ap, + PDBEntry[] pr, SequenceI[][] collateForPDB) + { JalviewStructureDisplayI sview = null; - switch (getViewerType()) - { - case JMOL: - + if (viewerType.equals(Viewer.JMOL)){ sview = new AppJmol(ap, pr, ap.av.collateForPDB(pr)); - - break; - case CHIMERA: - break; - default: + } else + if (viewerType.equals(Viewer.CHIMERA)) { + sview = new ChimeraViewFrame(ap, pr, ap.av.collateForPDB(pr)); + }else + { Cache.log.error("Unknown structure viewer type " + getViewerType().toString()); } diff --git a/src/jalview/gui/UserDefinedColours.java b/src/jalview/gui/UserDefinedColours.java index 3803fa1..f719d27 100755 --- a/src/jalview/gui/UserDefinedColours.java +++ b/src/jalview/gui/UserDefinedColours.java @@ -20,6 +20,7 @@ */ package jalview.gui; +import jalview.api.structures.JalviewStructureDisplayI; import jalview.datamodel.SequenceGroup; import jalview.io.JalviewFileChooser; import jalview.jbgui.GUserDefinedColours; @@ -67,7 +68,7 @@ public class UserDefinedColours extends GUserDefinedColours implements JInternalFrame frame; - AppJmol jmol; + JalviewStructureDisplayI jmol; Vector upperCaseButtons; @@ -121,7 +122,7 @@ public class UserDefinedColours extends GUserDefinedColours implements showFrame(); } - public UserDefinedColours(AppJmol jmol, ColourSchemeI oldcs) + public UserDefinedColours(JalviewStructureDisplayI jmol, ColourSchemeI oldcs) { super(); this.jmol = jmol; diff --git a/test/jalview/ext/rbvi/chimera/ChimeraConnect.java b/test/jalview/ext/rbvi/chimera/ChimeraConnect.java index 658c9c6..be4e5ea 100644 --- a/test/jalview/ext/rbvi/chimera/ChimeraConnect.java +++ b/test/jalview/ext/rbvi/chimera/ChimeraConnect.java @@ -18,7 +18,6 @@ public class ChimeraConnect StructureManager csm; ext.edu.ucsf.rbvi.strucviz2.ChimeraManager cm = new ChimeraManager(csm = new ext.edu.ucsf.rbvi.strucviz2.StructureManager(true)); assertTrue("Couldn't launch chimera",cm.launchChimera(csm.getChimeraPaths())); - int n=0; while (n++<100) { diff --git a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java new file mode 100644 index 0000000..1736af5 --- /dev/null +++ b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java @@ -0,0 +1,82 @@ +package jalview.ext.rbvi.chimera; + +import static org.junit.Assert.*; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.SequenceI; +import jalview.gui.AlignFrame; +import jalview.gui.StructureViewer; +import jalview.gui.StructureViewer.Viewer; +import jalview.io.FormatAdapter; + +import java.awt.Desktop; +import java.io.File; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +public class JalviewChimeraView +{ + + /** + * @throws java.lang.Exception + */ + @BeforeClass + public static void setUpBeforeClass() throws Exception + { + jalview.bin.Jalview.main(new String[] + { "-noquestionnaire -nonews -props", "test/src/jalview/ext/rbvi/chimera/testProps.jvprops" }); + } + + /** + * @throws java.lang.Exception + */ + @AfterClass + public static void tearDownAfterClass() throws Exception + { + jalview.gui.Desktop.instance.closeAll_actionPerformed(null); + + } + + + @Test + public void testSingleSeqView() + { + String inFile = "examples/1gaq.txt"; + AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( + inFile, FormatAdapter.FILE); + assertTrue("Didn't read input file " + inFile, af != null); + for (SequenceI sq:af.getViewport().getAlignment().getSequences()) + { + SequenceI dsq=sq.getDatasetSequence(); + while (dsq.getDatasetSequence()!=null) + { + dsq=dsq.getDatasetSequence(); + } + if (dsq.getPDBId()!=null && dsq.getPDBId().size()>0) { + for (int q=0;q