/*
* 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
+ * 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 <http://www.gnu.org/licenses/>.
*/
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;
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;
/*
* (non-Javadoc)
- *
+ *
* @see jalview.io.vamsas.DatastoreItem#addFromDocument()
*/
+ @Override
public void addFromDocument()
{
tree = (uk.ac.vamsas.objects.core.Tree) vobj; // vtree;
/*
* (non-Javadoc)
- *
+ *
* @see jalview.io.vamsas.DatastoreItem#conflict()
*/
+ @Override
public void conflict()
{
Cache.log
/*
* (non-Javadoc)
- *
+ *
* @see jalview.io.vamsas.DatastoreItem#update()
*/
+ @Override
public void updateToDoc()
{
if (isModifiable(tree.getModifiable()))
/*
* (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
// 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 =
/**
* correctly creates provenance for trees calculated on an alignment by
* jalview.
- *
+ *
* @param jal
* @param tp
* @return
/**
* look up SeqCigars in an existing alignment.
- *
+ *
* @param jal
* @param sequences
* @return vector of alignment sequences in order of SeqCigar array (but
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<SequenceI> 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
alsq.add(asq);
}
}
- }
+ }}
if (alsq.size() < sequences.length)
Cache.log
.warn("Not recovered all alignment sequences for given set of input sequence CIGARS");
}
/**
- *
+ *
* Update jalview newick representation with TreeNode map
- *
+ *
* @param tp
* the treepanel that this tree is bound to.
*/
// / TODO: refactor to vamsas :start
/**
* construct treenode mappings for mapped sequences
- *
+ *
* @param ntree
* @param newick
* @return
/**
* call to match up Treenode specs to NJTree parsed from document object.
- *
+ *
* @param nodespec
* @param leaves
* as returned from NJTree.findLeaves( .., ..) ..
// todo: end refactor to vamsas library
/**
* add jalview object to vamsas document
- *
+ *
*/
+ @Override
public void addToDocument()
{
tree = new uk.ac.vamsas.objects.core.Tree();
/**
* 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