X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2FMCview%2FPDBViewer.java;h=a5f050d19e8a8cd332efda32c45b46bfa3600cfd;hb=a45774ee31d9f35d4eff46d54d7deab719afb092;hp=e586707c7a5581e214282a6673a7bf4d5a8b3bb9;hpb=0eda2ac2f334f55f6e5f137789453a9f4dfe4d73;p=jalview.git diff --git a/src/MCview/PDBViewer.java b/src/MCview/PDBViewer.java index e586707..a5f050d 100755 --- a/src/MCview/PDBViewer.java +++ b/src/MCview/PDBViewer.java @@ -1,20 +1,19 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle - * - * This program 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 2 - * of the License, or (at your option) any later version. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) + * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * + * 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 . */ package MCview; @@ -31,8 +30,7 @@ import jalview.ws.ebi.EBIFetchClient; import java.awt.BorderLayout; -public class PDBViewer - extends JInternalFrame implements Runnable +public class PDBViewer extends JInternalFrame implements Runnable { /** @@ -41,17 +39,19 @@ public class PDBViewer PDBCanvas pdbcanvas; PDBEntry pdbentry; - SequenceI[]seq; - String[]chains; + + SequenceI[] seq; + + String[] chains; + AlignmentPanel ap; + String protocol; + String tmpPDBFile; - public PDBViewer(PDBEntry pdbentry, - SequenceI[] seq, - String[] chains, - AlignmentPanel ap, - String protocol) + public PDBViewer(PDBEntry pdbentry, SequenceI[] seq, String[] chains, + AlignmentPanel ap, String protocol) { this.pdbentry = pdbentry; @@ -63,16 +63,13 @@ public class PDBViewer try { jbInit(); - } - catch (Exception ex) + } catch (Exception ex) { ex.printStackTrace(); } - - StringBuffer title = new StringBuffer(seq[0].getName() - + ":" - + pdbentry.getFile()); + StringBuffer title = new StringBuffer(seq[0].getName() + ":" + + pdbentry.getFile()); pdbcanvas = new PDBCanvas(); @@ -84,12 +81,11 @@ public class PDBViewer { tmpPDBFile = pdbentry.getFile(); PDBfile pdbfile = new PDBfile(tmpPDBFile, - jalview.io.AppletFormatAdapter.FILE); + jalview.io.AppletFormatAdapter.FILE); pdbcanvas.init(pdbentry, seq, chains, ap, protocol); - } - catch (java.io.IOException ex) + } catch (java.io.IOException ex) { ex.printStackTrace(); } @@ -100,8 +96,6 @@ public class PDBViewer worker.start(); } - - if (pdbentry.getProperty() != null) { if (pdbentry.getProperty().get("method") != null) @@ -125,20 +119,18 @@ public class PDBViewer EBIFetchClient ebi = new EBIFetchClient(); String query = "pdb:" + pdbentry.getId(); pdbentry.setFile(ebi.fetchDataAsFile(query, "default", "raw") - .getAbsolutePath()); + .getAbsolutePath()); - if(pdbentry.getFile()!=null) + if (pdbentry.getFile() != null) pdbcanvas.init(pdbentry, seq, chains, ap, protocol); - } - catch (Exception ex) + } catch (Exception ex) { - pdbcanvas.errorMessage = "Error retrieving file: "+pdbentry.getId(); + pdbcanvas.errorMessage = "Error retrieving file: " + pdbentry.getId(); ex.printStackTrace(); } } - private void jbInit() - throws Exception + private void jbInit() throws Exception { this.addKeyListener(new KeyAdapter() { @@ -353,32 +345,32 @@ public class PDBViewer if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null) { - java.util.Enumeration userColours = jalview.gui.UserDefinedColours. - getUserColourSchemes().keys(); + java.util.Enumeration userColours = jalview.gui.UserDefinedColours + .getUserColourSchemes().keys(); while (userColours.hasMoreElements()) { final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem( - userColours. - nextElement().toString()); + userColours.nextElement().toString()); radioItem.setName("USER_DEFINED"); radioItem.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent evt) { - if (evt.isControlDown() || SwingUtilities.isRightMouseButton(evt)) + if (evt.isControlDown() + || SwingUtilities.isRightMouseButton(evt)) { radioItem.removeActionListener(radioItem.getActionListeners()[0]); - int option = JOptionPane.showInternalConfirmDialog(jalview.gui. - Desktop.desktop, - "Remove from default list?", - "Remove user defined colour", - JOptionPane.YES_NO_OPTION); + int option = JOptionPane.showInternalConfirmDialog( + jalview.gui.Desktop.desktop, + "Remove from default list?", + "Remove user defined colour", + JOptionPane.YES_NO_OPTION); if (option == JOptionPane.YES_OPTION) { - jalview.gui.UserDefinedColours.removeColourFromDefaults( - radioItem.getText()); + jalview.gui.UserDefinedColours + .removeColourFromDefaults(radioItem.getText()); coloursMenu.remove(radioItem); } else @@ -413,36 +405,60 @@ public class PDBViewer } JMenuBar jMenuBar1 = new JMenuBar(); + JMenu fileMenu = new JMenu(); + JMenu coloursMenu = new JMenu(); + JMenu saveMenu = new JMenu(); + JMenuItem png = new JMenuItem(); + JMenuItem eps = new JMenuItem(); + JMenuItem mapping = new JMenuItem(); + JCheckBoxMenuItem wire = new JCheckBoxMenuItem(); + JCheckBoxMenuItem depth = new JCheckBoxMenuItem(); + JCheckBoxMenuItem zbuffer = new JCheckBoxMenuItem(); + JCheckBoxMenuItem allchains = new JCheckBoxMenuItem(); JRadioButtonMenuItem charge = new JRadioButtonMenuItem(); + JRadioButtonMenuItem chain = new JRadioButtonMenuItem(); + JRadioButtonMenuItem seqButton = new JRadioButtonMenuItem(); + JRadioButtonMenuItem hydro = new JRadioButtonMenuItem(); + JRadioButtonMenuItem taylor = new JRadioButtonMenuItem(); + JRadioButtonMenuItem zappo = new JRadioButtonMenuItem(); + JRadioButtonMenuItem user = new JRadioButtonMenuItem(); + JRadioButtonMenuItem buried = new JRadioButtonMenuItem(); + JRadioButtonMenuItem turn = new JRadioButtonMenuItem(); + JRadioButtonMenuItem strand = new JRadioButtonMenuItem(); + JRadioButtonMenuItem helix = new JRadioButtonMenuItem(); + JMenu viewMenu = new JMenu(); + JMenuItem background = new JMenuItem(); + JMenuItem savePDB = new JMenuItem(); /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ public void eps_actionPerformed(ActionEvent e) { @@ -451,8 +467,9 @@ public class PDBViewer /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ public void png_actionPerformed(ActionEvent e) { @@ -468,19 +485,14 @@ public class PDBViewer if (type == jalview.util.ImageMaker.PNG) { - im = new jalview.util.ImageMaker(this, - jalview.util.ImageMaker.PNG, - "Make PNG image from view", - width, height, - null, null); + im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.PNG, + "Make PNG image from view", width, height, null, null); } else { - im = new jalview.util.ImageMaker(this, - jalview.util.ImageMaker.EPS, - "Make EPS file from view", - width, height, - null, this.getTitle()); + im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.EPS, + "Make EPS file from view", width, height, null, + this.getTitle()); } if (im.getGraphics() != null) @@ -551,8 +563,15 @@ public class PDBViewer public void mapping_actionPerformed(ActionEvent e) { jalview.gui.CutAndPasteTransfer cap = new jalview.gui.CutAndPasteTransfer(); - Desktop.addInternalFrame(cap, "PDB - Sequence Mapping", 550, 600); - cap.setText(pdbcanvas.mappingDetails.toString()); + try + { + cap.setText(pdbcanvas.mappingDetails.toString()); + Desktop.addInternalFrame(cap, "PDB - Sequence Mapping", 550, 600); + } catch (OutOfMemoryError oom) + { + new OOMWarning("Opening sequence to structure mapping report", oom); + cap.dispose(); + } } public void allchains_itemStateChanged(ItemEvent e) @@ -560,7 +579,6 @@ public class PDBViewer pdbcanvas.setAllchainsVisible(allchains.getState()); } - public void zappo_actionPerformed(ActionEvent e) { pdbcanvas.bysequence = false; @@ -613,12 +631,12 @@ public class PDBViewer { if (e.getActionCommand().equals("User Defined...")) { - // new UserDefinedColours(pdbcanvas, null); + // new UserDefinedColours(pdbcanvas, null); } else { - UserColourScheme udc = (UserColourScheme) UserDefinedColours. - getUserColourSchemes().get(e.getActionCommand()); + UserColourScheme udc = (UserColourScheme) UserDefinedColours + .getUserColourSchemes().get(e.getActionCommand()); pdbcanvas.pdb.setColours(udc); pdbcanvas.redrawneeded = true; @@ -629,8 +647,7 @@ public class PDBViewer public void background_actionPerformed(ActionEvent e) { java.awt.Color col = JColorChooser.showDialog(this, - "Select Background Colour", - pdbcanvas.backgroundColour); + "Select Background Colour", pdbcanvas.backgroundColour); if (col != null) { @@ -643,8 +660,7 @@ public class PDBViewer public void savePDB_actionPerformed(ActionEvent e) { JalviewFileChooser chooser = new JalviewFileChooser( - jalview.bin.Cache.getProperty( - "LAST_DIRECTORY")); + jalview.bin.Cache.getProperty("LAST_DIRECTORY")); chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle("Save PDB File"); @@ -661,18 +677,15 @@ public class PDBViewer PrintWriter out = new PrintWriter(new FileOutputStream(outFile)); String data; - while ( (data = in.readLine()) != null) + while ((data = in.readLine()) != null) { - if ( - ! (data.indexOf("
") > -1 || data.indexOf("
") > -1) - ) + if (!(data.indexOf("
") > -1 || data.indexOf("
") > -1)) { out.println(data); } } out.close(); - } - catch (Exception ex) + } catch (Exception ex) { ex.printStackTrace(); }