X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FTree.java;h=5caded1ec3053b177a61b686ef4c9d7edaad3812;hb=b1c9b42f08c639868c2509dffacdf29f299c5f0d;hp=eab51f00cbd3cc272e0b59edb5d70f81a2870ed2;hpb=a45774ee31d9f35d4eff46d54d7deab719afb092;p=jalview.git diff --git a/src/jalview/io/vamsas/Tree.java b/src/jalview/io/vamsas/Tree.java index eab51f0..5caded1 100644 --- a/src/jalview/io/vamsas/Tree.java +++ b/src/jalview/io/vamsas/Tree.java @@ -1,18 +1,18 @@ /* * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle - * + * 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 + * 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 + * + * 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.io.vamsas; @@ -20,10 +20,10 @@ package jalview.io.vamsas; import java.io.IOException; import java.util.Enumeration; import java.util.Hashtable; +import java.util.List; import java.util.Vector; import jalview.analysis.NJTree; -import jalview.analysis.SequenceIdMatcher; import jalview.bin.Cache; import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentView; @@ -32,7 +32,6 @@ import jalview.datamodel.SeqCigar; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import jalview.datamodel.SequenceNode; -import jalview.gui.AlignFrame; import jalview.gui.AlignViewport; import jalview.gui.TreePanel; import jalview.io.NewickFile; @@ -100,9 +99,10 @@ public class Tree extends DatastoreItem /* * (non-Javadoc) - * + * * @see jalview.io.vamsas.DatastoreItem#addFromDocument() */ + @Override public void addFromDocument() { tree = (uk.ac.vamsas.objects.core.Tree) vobj; // vtree; @@ -130,9 +130,10 @@ public class Tree extends DatastoreItem /* * (non-Javadoc) - * + * * @see jalview.io.vamsas.DatastoreItem#conflict() */ + @Override public void conflict() { Cache.log @@ -141,9 +142,10 @@ public class Tree extends DatastoreItem /* * (non-Javadoc) - * + * * @see jalview.io.vamsas.DatastoreItem#update() */ + @Override public void updateToDoc() { if (isModifiable(tree.getModifiable())) @@ -161,9 +163,10 @@ public class Tree extends DatastoreItem /* * (non-Javadoc) - * + * * @see jalview.io.vamsas.DatastoreItem#updateFromDoc() */ + @Override public void updateFromDoc() { // should probably just open a new tree panel in the same place as the old @@ -171,7 +174,7 @@ public class Tree extends DatastoreItem // TODO: Tree.updateFromDoc /* * TreePanel tp = (TreePanel) jvobj; // getvObj2jv(tree); - * + * * // make a new tree Object[] idata = * recoverInputData(tree.getProvenance()); try { if (idata != null && * idata[0] != null) { inputData = (AlignmentView) idata[0]; } ntree = @@ -198,7 +201,7 @@ public class Tree extends DatastoreItem /** * correctly creates provenance for trees calculated on an alignment by * jalview. - * + * * @param jal * @param tp * @return @@ -253,7 +256,7 @@ public class Tree extends DatastoreItem /** * look up SeqCigars in an existing alignment. - * + * * @param jal * @param sequences * @return vector of alignment sequences in order of SeqCigar array (but @@ -264,10 +267,10 @@ public class Tree extends DatastoreItem SeqCigar[] tseqs = new SeqCigar[sequences.length]; System.arraycopy(sequences, 0, tseqs, 0, sequences.length); Vector alsq = new Vector(); - Enumeration as = jal.getSequences().elements(); - while (as.hasMoreElements()) + List jalsqs; + synchronized (jalsqs=jal.getSequences()) + {for (SequenceI asq:jalsqs) { - SequenceI asq = (SequenceI) as.nextElement(); for (int t = 0; t < sequences.length; t++) { if (tseqs[t] != null @@ -280,7 +283,7 @@ public class Tree extends DatastoreItem alsq.add(asq); } } - } + }} if (alsq.size() < sequences.length) Cache.log .warn("Not recovered all alignment sequences for given set of input sequence CIGARS"); @@ -288,9 +291,9 @@ public class Tree extends DatastoreItem } /** - * + * * Update jalview newick representation with TreeNode map - * + * * @param tp * the treepanel that this tree is bound to. */ @@ -355,7 +358,7 @@ public class Tree extends DatastoreItem // / TODO: refactor to vamsas :start /** * construct treenode mappings for mapped sequences - * + * * @param ntree * @param newick * @return @@ -432,7 +435,7 @@ public class Tree extends DatastoreItem /** * call to match up Treenode specs to NJTree parsed from document object. - * + * * @param nodespec * @param leaves * as returned from NJTree.findLeaves( .., ..) .. @@ -473,8 +476,9 @@ public class Tree extends DatastoreItem // todo: end refactor to vamsas library /** * add jalview object to vamsas document - * + * */ + @Override public void addToDocument() { tree = new uk.ac.vamsas.objects.core.Tree(); @@ -493,7 +497,7 @@ public class Tree extends DatastoreItem /** * note: this function assumes that all sequence and alignment objects * referenced in input data has already been associated with jalview objects. - * + * * @param tp * @param alignFrame * @return Object[] { AlignmentView, AlignmentI - reference alignment for