X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML_V1.java;h=64d00ffef113a5396165b52f39ae19f7a55659f7;hb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;hp=d8e79ce15dee47cc1b4160eb6c3c98dadab8e5c5;hpb=7bc226b58110fa26d9dbd3f0c78095d06909ffc3;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML_V1.java b/src/jalview/gui/Jalview2XML_V1.java index d8e79ce..64d00ff 100755 --- a/src/jalview/gui/Jalview2XML_V1.java +++ b/src/jalview/gui/Jalview2XML_V1.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, J Engelhardt, LM Lui, 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 jalview.gui; @@ -28,17 +27,30 @@ import javax.swing.*; import org.exolab.castor.xml.*; import jalview.binding.*; import jalview.schemes.*; +import jalview.util.jarInputStreamProvider; /** * DOCUMENT ME! - * + * * @author $author$ * @version $Revision$ */ public class Jalview2XML_V1 { + boolean raiseGUI = true; + + public Jalview2XML_V1() + { + + }; + + public Jalview2XML_V1(boolean raiseGUI) + { + this.raiseGUI = raiseGUI; + }; + jalview.schemes.UserColourScheme GetUserColourScheme( - JalviewModelSequence jms, String id) + JalviewModelSequence jms, String id) { UserColours[] uc = jms.getUserColours(); UserColours colours = null; @@ -58,8 +70,8 @@ public class Jalview2XML_V1 for (int i = 0; i < csize; i++) { - newColours[i] = new java.awt.Color(Integer.parseInt( - colours.getUserColourScheme().getColour(i).getRGB(), 16)); + newColours[i] = new java.awt.Color(Integer.parseInt(colours + .getUserColourScheme().getColour(i).getRGB(), 16)); } return new jalview.schemes.UserColourScheme(newColours); @@ -67,46 +79,31 @@ public class Jalview2XML_V1 /** * DOCUMENT ME! - * - * @param file DOCUMENT ME! + * + * @param file + * DOCUMENT ME! */ - public AlignFrame LoadJalviewAlign(final String file) + public AlignFrame LoadJalviewAlign(final jarInputStreamProvider jprovider) { - + final String file = jprovider.getFilename(); jalview.gui.AlignFrame af = null; try { - //UNMARSHALLER SEEMS TO CLOSE JARINPUTSTREAM, MOST ANNOYING - URL url = null; - - if (file.startsWith("http://")) - { - url = new URL(file); - } - JarInputStream jin = null; JarEntry jarentry = null; int entryCount = 1; do { - if (url != null) - { - jin = new JarInputStream(url.openStream()); - } - else - { - jin = new JarInputStream(new FileInputStream(file)); - } + jin = jprovider.getJarInputStream(); for (int i = 0; i < entryCount; i++) { jarentry = jin.getNextJarEntry(); } - class NoDescIDResolver - implements IDResolver + class NoDescIDResolver implements IDResolver { public Object resolve(String idref) { @@ -125,42 +122,43 @@ public class Jalview2XML_V1 af = LoadFromObject(object, file); entryCount++; } - } - while (jarentry != null); - } - catch (final java.net.UnknownHostException ex) + } while (jarentry != null); + } catch (final java.net.UnknownHostException ex) { ex.printStackTrace(); - javax.swing.SwingUtilities.invokeLater(new Runnable() + if (raiseGUI) { - public void run() + javax.swing.SwingUtilities.invokeLater(new Runnable() { + public void run() + { - System.err.println("Couldn't locate Jalview XML file : " + - ex + "\n"); - JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Couldn't locate " + file, - "URL not found", - JOptionPane.WARNING_MESSAGE); - } - }); - } - catch (Exception ex) + System.err.println("Couldn't locate Jalview XML file : " + ex + + "\n"); + JOptionPane.showInternalMessageDialog(Desktop.desktop, + "Couldn't locate " + file, "URL not found", + JOptionPane.WARNING_MESSAGE); + } + }); + } + ; + } catch (Exception ex) { + System.err.println("Exception whilst loading jalview XML file : "); ex.printStackTrace(); - System.err.println("Exception whilst loading jalview XML file : " + - ex + "\n"); - javax.swing.SwingUtilities.invokeLater(new Runnable() + if (raiseGUI) { - public void run() + javax.swing.SwingUtilities.invokeLater(new Runnable() { + public void run() + { - JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Error loading " + file, - "Error loading Jalview file", - JOptionPane.WARNING_MESSAGE); - } - }); + JOptionPane.showInternalMessageDialog(Desktop.desktop, + "Error loading " + file, "Error loading Jalview file", + JOptionPane.WARNING_MESSAGE); + } + }); + } } return af; @@ -174,26 +172,25 @@ public class Jalview2XML_V1 JalviewModelSequence jms = object.getJalviewModelSequence(); - ////////////////////////////////// - //LOAD SEQUENCES - jalview.datamodel.Sequence[] jseqs = new jalview.datamodel.Sequence[ - vamsasSeq.length]; + // //////////////////////////////// + // LOAD SEQUENCES + jalview.datamodel.Sequence[] jseqs = new jalview.datamodel.Sequence[vamsasSeq.length]; JSeq[] JSEQ = object.getJalviewModelSequence().getJSeq(); for (int i = 0; i < vamsasSeq.length; i++) { jseqs[i] = new jalview.datamodel.Sequence(vamsasSeq[i].getName(), - vamsasSeq[i].getSequence()); + vamsasSeq[i].getSequence()); jseqs[i].setStart(JSEQ[i].getStart()); jseqs[i].setEnd(JSEQ[i].getEnd()); seqids.add(jseqs[i]); } - ///SequenceFeatures are added to the DatasetSequence, + // /SequenceFeatures are added to the DatasetSequence, // so we must create the dataset before loading features - ///////////////////////////////// + // /////////////////////////////// jalview.datamodel.Alignment al = new jalview.datamodel.Alignment(jseqs); al.setDataset(null); - ///////////////////////////////// + // /////////////////////////////// for (int i = 0; i < vamsasSeq.length; i++) { @@ -202,11 +199,10 @@ public class Jalview2XML_V1 Features[] features = JSEQ[i].getFeatures(); for (int f = 0; f < features.length; f++) { - jalview.datamodel.SequenceFeature sf - = new jalview.datamodel.SequenceFeature(features[f].getType(), - features[f].getDescription(), features[f].getStatus(), - features[f].getBegin(), features[f].getEnd(), - null); + jalview.datamodel.SequenceFeature sf = new jalview.datamodel.SequenceFeature( + features[f].getType(), features[f].getDescription(), + features[f].getStatus(), features[f].getBegin(), + features[f].getEnd(), null); al.getSequenceAt(i).getDatasetSequence().addSequenceFeature(sf); } @@ -225,9 +221,9 @@ public class Jalview2XML_V1 } } - ///////////////////////////////// - ////////////////////////////////// - //LOAD ANNOTATIONS + // /////////////////////////////// + // //////////////////////////////// + // LOAD ANNOTATIONS if (vamsasSet.getAnnotation() != null) { Annotation[] an = vamsasSet.getAnnotation(); @@ -235,16 +231,15 @@ public class Jalview2XML_V1 for (int i = 0; i < an.length; i++) { AnnotationElement[] ae = an[i].getAnnotationElement(); - jalview.datamodel.Annotation[] anot = new jalview.datamodel.Annotation[ - al.getWidth()]; + jalview.datamodel.Annotation[] anot = new jalview.datamodel.Annotation[al + .getWidth()]; for (int aa = 0; aa < ae.length; aa++) { - anot[ae[aa].getPosition()] = new jalview.datamodel.Annotation(ae[aa]. - getDisplayCharacter(), - ae[aa].getDescription(), - ae[aa].getSecondaryStructure().charAt(0), - ae[aa].getValue()); + anot[ae[aa].getPosition()] = new jalview.datamodel.Annotation( + ae[aa].getDisplayCharacter(), ae[aa].getDescription(), + ae[aa].getSecondaryStructure().charAt(0), + ae[aa].getValue()); } jalview.datamodel.AlignmentAnnotation jaa = null; @@ -252,20 +247,20 @@ public class Jalview2XML_V1 if (an[i].getGraph()) { jaa = new jalview.datamodel.AlignmentAnnotation(an[i].getLabel(), - an[i].getDescription(), anot, 0, 0, - jalview.datamodel.AlignmentAnnotation.BAR_GRAPH); + an[i].getDescription(), anot, 0, 0, + jalview.datamodel.AlignmentAnnotation.BAR_GRAPH); } else { jaa = new jalview.datamodel.AlignmentAnnotation(an[i].getLabel(), - an[i].getDescription(), anot); + an[i].getDescription(), anot); } al.addAnnotation(jaa); } } - ///////////////////////////////// + // /////////////////////////////// // LOAD VIEWPORT Viewport[] views = jms.getViewport(); Viewport view = views[0]; // DEAL WITH MULTIPLE VIEWPORTS LATER @@ -276,15 +271,13 @@ public class Jalview2XML_V1 for (int i = 0; i < JSEQ.length; i++) { - af.viewport.setSequenceColour( - af.viewport.alignment.getSequenceAt(i), - new java.awt.Color( - JSEQ[i].getColour())); + af.viewport.setSequenceColour(af.viewport.alignment.getSequenceAt(i), + new java.awt.Color(JSEQ[i].getColour())); } - // af.changeColour() ); - ///////////////////////// - //LOAD GROUPS + // af.changeColour() ); + // /////////////////////// + // LOAD GROUPS if (jms.getJGroupCount() > 0) { JGroup[] groups = jms.getJGroup(); @@ -301,8 +294,7 @@ public class Jalview2XML_V1 } else { - cs = ColourSchemeProperty.getColour(al, - groups[i].getColour()); + cs = ColourSchemeProperty.getColour(al, groups[i].getColour()); } if (cs != null) @@ -317,25 +309,22 @@ public class Jalview2XML_V1 for (int s = 0; s < ids.length; s++) { - seqs.addElement( (jalview.datamodel.SequenceI) seqids.elementAt( - ids[s])); + seqs.addElement((jalview.datamodel.SequenceI) seqids + .elementAt(ids[s])); } - jalview.datamodel.SequenceGroup sg = new jalview.datamodel. - SequenceGroup(seqs, - groups[i].getName(), cs, groups[i].getDisplayBoxes(), - groups[i].getDisplayText(), groups[i].getColourText(), - groups[i].getStart(), groups[i].getEnd()); + jalview.datamodel.SequenceGroup sg = new jalview.datamodel.SequenceGroup( + seqs, groups[i].getName(), cs, groups[i].getDisplayBoxes(), + groups[i].getDisplayText(), groups[i].getColourText(), + groups[i].getStart(), groups[i].getEnd()); - sg.setOutlineColour(new java.awt.Color( - groups[i].getOutlineColour())); + sg.setOutlineColour(new java.awt.Color(groups[i].getOutlineColour())); if (groups[i].getConsThreshold() != 0) { jalview.analysis.Conservation c = new jalview.analysis.Conservation( - "All", - ResidueProperties.propHash, 3, sg.getSequences(null), 0, - sg.getWidth() - 1); + "All", ResidueProperties.propHash, 3, + sg.getSequences(null), 0, sg.getWidth() - 1); c.calculate(); c.verdict(false, 25); sg.cs.setConservation(c); @@ -346,7 +335,7 @@ public class Jalview2XML_V1 } af.setBounds(view.getXpos(), view.getYpos(), view.getWidth(), - view.getHeight()); + view.getHeight()); af.viewport.setStartRes(view.getStartRes()); af.viewport.setStartSeq(view.getStartSeq()); af.viewport.setShowAnnotation(view.getShowAnnotation()); @@ -354,8 +343,8 @@ public class Jalview2XML_V1 af.viewport.setColourText(view.getShowColourText()); af.viewport.setConservationSelected(view.getConservationSelected()); af.viewport.setShowJVSuffix(view.getShowFullId()); - af.viewport.setFont(new java.awt.Font(view.getFontName(), - view.getFontStyle(), view.getFontSize())); + af.viewport.setFont(new java.awt.Font(view.getFontName(), view + .getFontStyle(), view.getFontSize())); af.alignPanel.fontChanged(); af.viewport.setRenderGaps(view.getRenderGaps()); @@ -400,35 +389,33 @@ public class Jalview2XML_V1 if (jms.getFeatureSettings() != null) { af.viewport.featuresDisplayed = new Hashtable(); - String[] renderOrder = new String[jms.getFeatureSettings(). - getSettingCount()]; + String[] renderOrder = new String[jms.getFeatureSettings() + .getSettingCount()]; for (int fs = 0; fs < jms.getFeatureSettings().getSettingCount(); fs++) { Setting setting = jms.getFeatureSettings().getSetting(fs); - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setColour(setting. - getType(), - new java.awt.Color(setting.getColour())); + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setColour( + setting.getType(), new java.awt.Color(setting.getColour())); renderOrder[fs] = setting.getType(); if (setting.getDisplay()) { - af.viewport.featuresDisplayed.put( - setting.getType(), new Integer(setting.getColour())); + af.viewport.featuresDisplayed.put(setting.getType(), new Integer( + setting.getColour())); } } - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder = - renderOrder; + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder = renderOrder; } af.setMenusFromViewport(af.viewport); - Desktop.addInternalFrame(af, view.getTitle(), - view.getWidth(), view.getHeight()); + Desktop.addInternalFrame(af, view.getTitle(), view.getWidth(), + view.getHeight()); - //LOAD TREES - /////////////////////////////////////// + // LOAD TREES + // ///////////////////////////////////// if (jms.getTreeCount() > 0) { try @@ -438,25 +425,23 @@ public class Jalview2XML_V1 Tree tree = jms.getTree(t); - TreePanel tp = af.ShowNewickTree(new jalview.io.NewickFile( - tree.getNewick()), tree.getTitle(), - tree.getWidth(), tree.getHeight(), - tree.getXpos(), tree.getYpos()); + TreePanel tp = af.ShowNewickTree( + new jalview.io.NewickFile(tree.getNewick()), + tree.getTitle(), tree.getWidth(), tree.getHeight(), + tree.getXpos(), tree.getYpos()); tp.fitToWindow.setState(tree.getFitToWindow()); tp.fitToWindow_actionPerformed(null); if (tree.getFontName() != null) { - tp.setTreeFont(new java.awt.Font(tree.getFontName(), - tree.getFontStyle(), - tree.getFontSize())); + tp.setTreeFont(new java.awt.Font(tree.getFontName(), tree + .getFontStyle(), tree.getFontSize())); } else { - tp.setTreeFont(new java.awt.Font(view.getFontName(), - view.getFontStyle(), - tree.getFontSize())); + tp.setTreeFont(new java.awt.Font(view.getFontName(), view + .getFontStyle(), tree.getFontSize())); } tp.showPlaceholders(tree.getMarkUnlinked()); @@ -471,8 +456,7 @@ public class Jalview2XML_V1 } } - } - catch (Exception ex) + } catch (Exception ex) { ex.printStackTrace(); }