JAL-2795 calculated trees are now passed along as Newick strings
[jalview.git] / src / jalview / ext / archaeopteryx / AptxTreeBuilder.java
1 // package jalview.ext.archaeopteryx;
2 //
3 // import jalview.analysis.TreeBuilder;
4 // import jalview.datamodel.SequenceI;
5 // import jalview.ext.forester.ForesterMatrix;
6 // import jalview.ext.treeviewer.TreeBuilderI;
7 // import jalview.ext.treeviewer.TreeI;
8 // import jalview.ext.treeviewer.TreeNodeI;
9 // import jalview.util.MappingUtils;
10 // import jalview.util.MessageManager;
11 //
12 // import java.util.HashMap;
13 // import java.util.Map;
14 //
15 // import org.forester.evoinference.matrix.distance.DistanceMatrix;
16 // import org.forester.phylogeny.Phylogeny;
17 // import org.forester.phylogeny.PhylogenyNode;
18 //
19 /// **
20 // * Class for converting trees made in Jalview (through TreeBuilder) to trees
21 // * compatible with Forester (Phylogeny objects).
22 // *
23 // * Note that this currently demands a 1:1 relationship between tree nodes and
24 // * the sequences used for generating them.
25 // *
26 // * @author kjvanderheide
27 // *
28 // */
29 // public class AptxTreeBuilder
30 // implements TreeBuilderI
31 // {
32 // protected final SequenceI[] sequences;
33 //
34 // protected final DistanceMatrix distances;
35 //
36 // protected final TreeBuilder jalviewTree;
37 //
38 // public String treeTitle;
39 //
40 // private final TreeI aptxTree;
41 //
42 // private TreeNodeI rootNode;
43 //
44 // private final Map<SequenceI, TreeNodeI> alignmentWithNodes;
45 //
46 // private final Map<TreeNodeI, SequenceI> nodesWithAlignment;
47 //
48 // public AptxTreeBuilder(final TreeBuilder calculatedTree)
49 // {
50 // jalviewTree = calculatedTree;
51 // sequences = jalviewTree.getSequences();
52 // distances = ForesterMatrix.convertJalviewToForester(
53 // jalviewTree.getDistances(), sequences);
54 //
55 // aptxTree = new Tree(new Phylogeny());
56 // rootNode = TreeNode.getUniqueWrapper(new PhylogenyNode());
57 //
58 // int amountOfSequences = distances.getSize();
59 // alignmentWithNodes = new HashMap<>(amountOfSequences);
60 // nodesWithAlignment = new HashMap<>(amountOfSequences);
61 //
62 //
63 // }
64 //
65 // @Override
66 // public TreeI buildTree(final TreeNodeI treeRoot)
67 // {
68 //
69 // if (treeRoot != null)
70 // {
71 // rootNode = treeRoot;
72 // }
73 //
74 // buildTree();
75 //
76 // return aptxTree;
77 //
78 // }
79 //
80 //
81 // @Override
82 // public TreeI buildTree()
83 // {
84 //
85 // for (SequenceI sequence : sequences)
86 // {
87 //
88 // TreeNodeI sequenceNode = TreeNode
89 // .getUniqueWrapper(
90 // new PhylogenyNode(sequence.getName()));
91 //
92 // sequenceNode.setSequence(sequence);
93 //
94 // MappingUtils.putWithDuplicationCheck(nodesWithAlignment,
95 // sequenceNode, sequence);
96 // MappingUtils.putWithDuplicationCheck(alignmentWithNodes,
97 // sequence, sequenceNode);
98 // rootNode.addAsChild(sequenceNode);
99 // }
100 //
101 //
102 // aptxTree.setRoot(rootNode);
103 //
104 // treeTitle = generateTreeName();
105 // aptxTree.setTreeName(treeTitle);
106 //
107 // return aptxTree;
108 //
109 // }
110 //
111 // @Override
112 // public Map<SequenceI, TreeNodeI> getAlignmentBoundNodes()
113 // {
114 // return alignmentWithNodes;
115 // }
116 //
117 // @Override
118 // public Map<TreeNodeI, SequenceI> getNodesBoundAlignment()
119 // {
120 // return nodesWithAlignment;
121 // }
122 //
123 //
124 // /**
125 // * Formats a localised title for the tree panel, like
126 // * <p>
127 // * Neighbour Joining Using BLOSUM62
128 // * <p>
129 // * For a tree loaded from file, just uses the file name
130 // *
131 // * @return
132 // */
133 // @Override
134 // public String generateTreeName() // Move this and add selection region to the
135 // // title when applicable
136 // {
137 // if (treeTitle != null) // will currently never happen, loaded tree file will
138 // // take a different path
139 // {
140 // return treeTitle;
141 // }
142 // else
143 // {
144 // /*
145 // * i18n description of Neighbour Joining or Average Distance method
146 // */
147 // String treecalcnm = MessageManager
148 // .getString("label.tree_calc_" + jalviewTree.getClass()
149 // .getSimpleName().substring(0, 2).toLowerCase());
150 // /*
151 // * short score model name (long description can be too long)
152 // */
153 // String smn = jalviewTree.getScoreModel().getName();
154 //
155 // /*
156 // * put them together as <method> Using <model>
157 // */
158 // final String ttl = MessageManager
159 // .formatMessage("label.treecalc_title", treecalcnm, smn);
160 // return ttl;
161 // }
162 // }
163 //
164 //
165 //
166 //
167 // }