git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'develop' into bug/JAL-1803_JAL-2157
[jalview.git]
/
src
/
jalview
/
io
/
vamsas
/
Tree.java
diff --git
a/src/jalview/io/vamsas/Tree.java
b/src/jalview/io/vamsas/Tree.java
index
2a62df4
..
a3781a7
100644
(file)
--- a/
src/jalview/io/vamsas/Tree.java
+++ b/
src/jalview/io/vamsas/Tree.java
@@
-1,29
+1,26
@@
/*
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* 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
*
* 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
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
+ * 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
* PURPOSE. See the GNU General Public License for more details.
*
* 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/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.io.vamsas;
*/
package jalview.io.vamsas;
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
import jalview.analysis.NJTree;
import jalview.analysis.NJTree;
-import jalview.analysis.SequenceIdMatcher;
import jalview.bin.Cache;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
import jalview.bin.Cache;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
@@
-32,11
+29,17
@@
import jalview.datamodel.SeqCigar;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
import jalview.datamodel.SequenceNode;
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;
import jalview.io.VamsasAppDatastore;
import jalview.gui.TreePanel;
import jalview.io.NewickFile;
import jalview.io.VamsasAppDatastore;
+import jalview.viewmodel.AlignmentViewport;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+
import uk.ac.vamsas.client.Vobject;
import uk.ac.vamsas.objects.core.AlignmentSequence;
import uk.ac.vamsas.objects.core.Entry;
import uk.ac.vamsas.client.Vobject;
import uk.ac.vamsas.objects.core.AlignmentSequence;
import uk.ac.vamsas.objects.core.Entry;
@@
-103,6
+106,7
@@
public class Tree extends DatastoreItem
*
* @see jalview.io.vamsas.DatastoreItem#addFromDocument()
*/
*
* @see jalview.io.vamsas.DatastoreItem#addFromDocument()
*/
+ @Override
public void addFromDocument()
{
tree = (uk.ac.vamsas.objects.core.Tree) vobj; // vtree;
public void addFromDocument()
{
tree = (uk.ac.vamsas.objects.core.Tree) vobj; // vtree;
@@
-133,6
+137,7
@@
public class Tree extends DatastoreItem
*
* @see jalview.io.vamsas.DatastoreItem#conflict()
*/
*
* @see jalview.io.vamsas.DatastoreItem#conflict()
*/
+ @Override
public void conflict()
{
Cache.log
public void conflict()
{
Cache.log
@@
-144,6
+149,7
@@
public class Tree extends DatastoreItem
*
* @see jalview.io.vamsas.DatastoreItem#update()
*/
*
* @see jalview.io.vamsas.DatastoreItem#update()
*/
+ @Override
public void updateToDoc()
{
if (isModifiable(tree.getModifiable()))
public void updateToDoc()
{
if (isModifiable(tree.getModifiable()))
@@
-155,8
+161,7
@@
public class Tree extends DatastoreItem
else
{
// handle conflict
else
{
// handle conflict
- log
- .info("TODO: Add the locally modified tree in Jalview as a new tree in document, leaving locked tree unchanged.");
+ log.info("TODO: Add the locally modified tree in Jalview as a new tree in document, leaving locked tree unchanged.");
}
}
}
}
@@
-165,6
+170,7
@@
public class Tree extends DatastoreItem
*
* @see jalview.io.vamsas.DatastoreItem#updateFromDoc()
*/
*
* @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
public void updateFromDoc()
{
// should probably just open a new tree panel in the same place as the old
@@
-220,8
+226,8
@@
public class Tree extends DatastoreItem
// or just correctly resolve the tree's seqData to the correct alignment
// in
// the document.
// or just correctly resolve the tree's seqData to the correct alignment
// in
// the document.
- Vector alsqrefs = getjv2vObjs(findAlignmentSequences(jal, tp
- .getTree().seqData.getSequences()));
+ Vector alsqrefs = getjv2vObjs(findAlignmentSequences(jal,
+ tp.getTree().seqData.getSequences()));
Object[] alsqs = new Object[alsqrefs.size()];
alsqrefs.copyInto(alsqs);
vInput.setObjRef(alsqs);
Object[] alsqs = new Object[alsqrefs.size()];
alsqrefs.copyInto(alsqs);
vInput.setObjRef(alsqs);
@@
-265,26
+271,30
@@
public class Tree extends DatastoreItem
SeqCigar[] tseqs = new SeqCigar[sequences.length];
System.arraycopy(sequences, 0, tseqs, 0, sequences.length);
Vector alsq = new Vector();
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())
{
{
- SequenceI asq = (SequenceI) as.nextElement();
- for (int t = 0; t < sequences.length; t++)
+ for (SequenceI asq : jalsqs)
{
{
- if (tseqs[t] != null
- && (tseqs[t].getRefSeq() == asq || tseqs[t].getRefSeq() == asq
- .getDatasetSequence()))
- // && tseqs[t].getStart()>=asq.getStart() &&
- // tseqs[t].getEnd()<=asq.getEnd())
+ for (int t = 0; t < sequences.length; t++)
{
{
- tseqs[t] = null;
- alsq.add(asq);
+ if (tseqs[t] != null
+ && (tseqs[t].getRefSeq() == asq || tseqs[t].getRefSeq() == asq
+ .getDatasetSequence()))
+ // && tseqs[t].getStart()>=asq.getStart() &&
+ // tseqs[t].getEnd()<=asq.getEnd())
+ {
+ tseqs[t] = null;
+ alsq.add(asq);
+ }
}
}
}
if (alsq.size() < sequences.length)
}
}
}
if (alsq.size() < sequences.length)
+ {
Cache.log
.warn("Not recovered all alignment sequences for given set of input sequence CIGARS");
Cache.log
.warn("Not recovered all alignment sequences for given set of input sequence CIGARS");
+ }
return alsq;
}
return alsq;
}
@@
-298,15
+308,18
@@
public class Tree extends DatastoreItem
public void UpdateSequenceTreeMap(TreePanel tp)
{
if (tp == null || tree == null)
public void UpdateSequenceTreeMap(TreePanel tp)
{
if (tp == null || tree == null)
+ {
return;
return;
- Vector leaves = new Vector();
+ }
+
if (tp.getTree() == null)
{
Cache.log.warn("Not updating SequenceTreeMap for "
+ tree.getVorbaId());
return;
}
if (tp.getTree() == null)
{
Cache.log.warn("Not updating SequenceTreeMap for "
+ tree.getVorbaId());
return;
}
- tp.getTree().findLeaves(tp.getTree().getTopNode(), leaves);
+ Vector<SequenceNode> leaves = tp.getTree().findLeaves(
+ tp.getTree().getTopNode());
Treenode[] tn = tree.getTreenode(); // todo: select nodes for this
// particular tree
int sz = tn.length;
Treenode[] tn = tree.getTreenode(); // todo: select nodes for this
// particular tree
int sz = tn.length;
@@
-347,9
+360,7
@@
public class Tree extends DatastoreItem
else
{
leaf.setPlaceholder(true);
else
{
leaf.setPlaceholder(true);
- leaf
- .setElement(new Sequence(leaf.getName(),
- "THISISAPLACEHLDER"));
+ leaf.setElement(new Sequence(leaf.getName(), "THISISAPLACEHLDER"));
}
}
}
}
}
}
@@
-365,8
+376,7
@@
public class Tree extends DatastoreItem
*/
public Treenode[] makeTreeNodes(NJTree ntree, Newick newick)
{
*/
public Treenode[] makeTreeNodes(NJTree ntree, Newick newick)
{
- Vector leaves = new Vector();
- ntree.findLeaves(ntree.getTopNode(), leaves);
+ Vector<SequenceNode> leaves = ntree.findLeaves(ntree.getTopNode());
Vector tnv = new Vector();
Enumeration l = leaves.elements();
Hashtable nodespecs = new Hashtable();
Vector tnv = new Vector();
Enumeration l = leaves.elements();
Hashtable nodespecs = new Hashtable();
@@
-416,8
+426,7
@@
public class Tree extends DatastoreItem
tnv.copyInto(tn);
return tn;
}
tnv.copyInto(tn);
return tn;
}
- return new Treenode[]
- {};
+ return new Treenode[] {};
}
private String makeNodeSpec(Hashtable nodespecs,
}
private String makeNodeSpec(Hashtable nodespecs,
@@
-468,7
+477,9
@@
public class Tree extends DatastoreItem
--occurence;
}
else
--occurence;
}
else
+ {
bn = null;
bn = null;
+ }
}
return bn;
}
}
return bn;
}
@@
-478,6
+489,7
@@
public class Tree extends DatastoreItem
* add jalview object to vamsas document
*
*/
* add jalview object to vamsas document
*
*/
+ @Override
public void addToDocument()
{
tree = new uk.ac.vamsas.objects.core.Tree();
public void addToDocument()
{
tree = new uk.ac.vamsas.objects.core.Tree();
@@
-504,7
+516,7
@@
public class Tree extends DatastoreItem
*/
public Object[] recoverInputData(Provenance tp)
{
*/
public Object[] recoverInputData(Provenance tp)
{
- AlignViewport javport = null;
+ AlignmentViewport javport = null;
jalview.datamodel.AlignmentI jal = null;
jalview.datamodel.CigarArray view = null;
for (int pe = 0; pe < tp.getEntryCount(); pe++)
jalview.datamodel.AlignmentI jal = null;
jalview.datamodel.CigarArray view = null;
for (int pe = 0; pe < tp.getEntryCount(); pe++)
@@
-589,8
+601,7
@@
public class Tree extends DatastoreItem
// off by
// one for to
}
// off by
// one for to
}
- return new Object[]
- { new AlignmentView(view), jal };
+ return new Object[] { new AlignmentView(view), jal };
}
}
Cache.log
}
}
Cache.log
@@
-598,7
+609,7
@@
public class Tree extends DatastoreItem
return null;
}
return null;
}
- private AlignViewport getViewport(Vobject v_parent)
+ private AlignmentViewport getViewport(Vobject v_parent)
{
if (v_parent instanceof uk.ac.vamsas.objects.core.Alignment)
{
{
if (v_parent instanceof uk.ac.vamsas.objects.core.Alignment)
{