X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;fp=src%2Fjalview%2Fgui%2FAlignFrame.java;h=b3e34fb7f6d00cb08d5e712edea2d9399caeaf52;hb=7a4781bea6b4b598a31c3abb9deebd415754eaec;hp=2ecd947aca0c1aa12630497f580dd7ef27139944;hpb=ec4ef38882bce0469ce7c65cd70ceb85421cfbd2;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 2ecd947..b3e34fb 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -55,6 +55,7 @@ import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; import jalview.io.JnetAnnotationMaker; import jalview.io.NewickFile; +import jalview.io.TCoffeeScoreFile; import jalview.jbgui.GAlignFrame; import jalview.schemes.Blosum62ColourScheme; import jalview.schemes.BuriedColourScheme; @@ -67,11 +68,11 @@ import jalview.schemes.NucleotideColourScheme; import jalview.schemes.PIDColourScheme; import jalview.schemes.ResidueProperties; import jalview.schemes.StrandColourScheme; +import jalview.schemes.TCoffeeColourScheme; import jalview.schemes.TaylorColourScheme; import jalview.schemes.TurnColourScheme; import jalview.schemes.UserColourScheme; import jalview.schemes.ZappoColourScheme; -import jalview.ws.WSMenuEntryProviderI; import jalview.ws.jws1.Discoverer; import jalview.ws.jws2.Jws2Discoverer; @@ -141,6 +142,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, AlignViewport viewport; Vector alignPanels = new Vector(); + + TCoffeeScoreFile tcoffeeScoreFile; /** * Last format used to load or save alignments in this window @@ -3859,7 +3862,70 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } } } - + + @Override + public void loadScores_actionPerformed(ActionEvent e) + { + // Pick the tree file + JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.getProperty("LAST_DIRECTORY")); + chooser.setFileView(new JalviewFileView()); + chooser.setDialogTitle("Select a T-Coffee scores ascii file"); + chooser.setToolTipText("Load a score file"); + + int value = chooser.showOpenDialog(null); + + if (value == JalviewFileChooser.APPROVE_OPTION) + { + String sFilePath = chooser.getSelectedFile().getPath(); + jalview.bin.Cache.setProperty("LAST_DIRECTORY", sFilePath); + + + try + { + TCoffeeScoreFile result = TCoffeeScoreFile.load(new File(sFilePath)); + if( result == null ) { throw new RuntimeException("The file provided does not match the T-Coffee scores file format"); } + + // TODO check that the loaded scores matches the current MSA 'dimension' + changeColour( new TCoffeeColourScheme(result) ); + tcoffeeScoreFile = result; + tcoffeeColour.setEnabled(true); + tcoffeeColour.setSelected(true); + + } + catch (Exception ex) { + JOptionPane.showMessageDialog( + Desktop.desktop, + ex.getMessage(), + "Problem reading tree file", + JOptionPane.WARNING_MESSAGE); + + ex.printStackTrace(); + } + } + + } + + + @Override + protected void tcoffeeColorScheme_actionPerformed(ActionEvent e) { + if( tcoffeeScoreFile != null ) { + changeColour( new TCoffeeColourScheme(tcoffeeScoreFile) ); + } + } + +// /** +// * Load the (T-Coffee) score file from the specified url +// * +// * @param url The absolute path from where download and read the score file +// * @throws IOException +// */ +// public void loadScoreFile(URL url ) throws IOException { +// +// TCoffeeScoreFile result = new TCoffeeScoreFile(); +// result.parse( new InputStreamReader( url.openStream() ) ); +// tcoffeeScoreFile = result; +// } + public TreePanel ShowNewickTree(NewickFile nf, String title) { return ShowNewickTree(nf, title, 600, 500, 4, 5);