From 29f633ca27df2db2790b81b1ca346d6692d4936c Mon Sep 17 00:00:00 2001 From: jprocter Date: Wed, 25 Jul 2007 17:16:54 +0000 Subject: [PATCH] better vamsas tree io (for when there are no nodemappings) --- src/jalview/io/vamsas/Tree.java | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/jalview/io/vamsas/Tree.java b/src/jalview/io/vamsas/Tree.java index 12c471e..82f4f07 100644 --- a/src/jalview/io/vamsas/Tree.java +++ b/src/jalview/io/vamsas/Tree.java @@ -1,5 +1,6 @@ package jalview.io.vamsas; +import java.io.IOException; import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; @@ -60,7 +61,7 @@ public class Tree extends DatastoreItem { inputData = (AlignmentView) idata[0]; } - ntree = new jalview.io.NewickFile(tree.getNewick(0).getContent()); + ntree = getNtree(); title = tree.getNewick(0).getTitle(); if (title==null || title.length()==0) { @@ -74,6 +75,10 @@ public class Tree extends DatastoreItem } } } + private NewickFile getNtree() throws IOException + { + return new jalview.io.NewickFile(tree.getNewick(0).getContent()); + } public Tree(VamsasAppDatastore datastore, TreePanel tp2, AlignmentI jal2, uk.ac.vamsas.objects.core.Alignment alignment2) { super(datastore); @@ -402,5 +407,21 @@ public class Tree extends DatastoreItem { return inputData; } + public boolean isValidTree() + { + try { + ntree.parse(); + if (ntree.getTree()!=null) + { + ntree = getNtree(); + } + return true; + } + catch (Exception e) + { + Cache.log.debug("Failed to parse newick tree string",e); + } + return false; + } } -- 1.7.10.2