Skip to content

Commit 9ca9ce3

Browse files
committed
Generalize the GuideTree calculation using phylo
1 parent 45a66c7 commit 9ca9ce3

File tree

1 file changed

+6
-6
lines changed
  • biojava-alignment/src/main/java/org/biojava/nbio/alignment

1 file changed

+6
-6
lines changed

biojava-alignment/src/main/java/org/biojava/nbio/alignment/GuideTree.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,15 @@
3131
import org.biojava.nbio.core.sequence.AccessionID;
3232
import org.biojava.nbio.core.sequence.template.Compound;
3333
import org.biojava.nbio.core.sequence.template.Sequence;
34-
import org.forester.evoinference.distance.NeighborJoining;
34+
import org.biojava.nbio.phylo.ForesterWrapper;
35+
import org.biojava.nbio.phylo.TreeConstructor;
36+
import org.biojava.nbio.phylo.TreeConstructorType;
3537
import org.forester.evoinference.matrix.distance.BasicSymmetricalDistanceMatrix;
3638
import org.forester.phylogeny.Phylogeny;
3739
import org.forester.phylogeny.PhylogenyNode;
3840

3941
import javax.swing.tree.TreeNode;
42+
4043
import java.util.*;
4144
import java.util.concurrent.Future;
4245

@@ -67,20 +70,17 @@ public GuideTree(List<S> sequences, List<PairwiseSequenceScorer<S, C>> scorers)
6770
this.sequences = Collections.unmodifiableList(sequences);
6871
this.scorers = Collections.unmodifiableList(scorers);
6972
distances = new BasicSymmetricalDistanceMatrix(sequences.size());
70-
BasicSymmetricalDistanceMatrix distclone = new BasicSymmetricalDistanceMatrix(sequences.size());
7173
for (int i = 0, n = 0; i < sequences.size(); i++) {
7274
AccessionID id = sequences.get(i).getAccession();
7375
String str = (id == null) ? Integer.toString(i + 1) : id.getID();
7476
distances.setIdentifier(i, str);
75-
distclone.setIdentifier(i, str);
7677
for (int j = i+1; j < sequences.size(); j++) {
7778
double dist = scorers.get(n++).getDistance();
7879
distances.setValue(i, j, dist);
79-
distclone.setValue(i, j, dist);
8080
}
8181
}
82-
// TODO UPGMA and other hierarchical clustering routines
83-
Phylogeny phylogeny = NeighborJoining.createInstance().execute(distclone);
82+
BasicSymmetricalDistanceMatrix distclone = ForesterWrapper.cloneDM(distances);
83+
Phylogeny phylogeny = TreeConstructor.distanceTree(distclone, TreeConstructorType.NJ);
8484
newick = phylogeny.toString();
8585
root = new Node(phylogeny.getRoot(), null);
8686
}

0 commit comments

Comments
 (0)