\r
String jalviewServletURL;\r
\r
- TCoffeeScoreFile tcoffeeScoreFile;\r
\r
public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet, String title, boolean embedded)\r
{\r
changeColour(new Blosum62ColourScheme());\r
}\r
else if (source == tcoffeeColour) {\r
- changeColour(new TCoffeeColourScheme(tcoffeeScoreFile));\r
+ changeColour(new TCoffeeColourScheme(alignPanel.getAlignment()));\r
}\r
else if (source == annotationColour)\r
{\r
{\r
try\r
{\r
- sg.cs = (ColourSchemeI) cs.getClass().newInstance();\r
+ sg.cs = cs.getClass().newInstance();\r
} catch (Exception ex)\r
{\r
ex.printStackTrace();\r
\r
TCoffeeScoreFile file = TCoffeeScoreFile.load( new InputStreamReader( url.openStream() ) );\r
if( file == null ) {\r
+ // TODO: raise a dialog box here rather than bomb out.\r
+ \r
throw new RuntimeException("The file provided does not match the T-Coffee scores file format");\r
}\r
\r
- tcoffeeColour.setEnabled(true);\r
- tcoffeeScoreFile = file;\r
+ /*\r
+ * check that the score matrix matches the alignment dimensions\r
+ */\r
+ AlignmentI aln; \r
+ if( (aln=viewport.alignment) != null && (aln.getHeight() != file.getHeight() || aln.getWidth() != file.getWidth()) ) {\r
+ // TODO: raise a dialog box here rather than bomb out.\r
+ throw new RuntimeException("The scores matrix does not match the alignment dimensions");\r
+ \r
+ }\r
\r
- // switch to this color\r
- changeColour(new TCoffeeColourScheme(tcoffeeScoreFile));\r
+ // TODO add parameter to indicate if matching should be done\r
+ if (file.annotateAlignment(alignPanel.getAlignment(), false))\r
+ {\r
+ tcoffeeColour.setEnabled(true);\r
+ // switch to this color\r
+ changeColour(new TCoffeeColourScheme(alignPanel.getAlignment()));\r
+ }\r
}\r
\r
\r