*/
package jalview.analysis;
+import jalview.analysis.scoremodels.ScoreModels;
+import jalview.api.analysis.ScoreModelI;
import jalview.api.analysis.SimilarityParamsI;
+import jalview.gui.AlignViewport;
/**
* @author kjvanderheide
*
*/
-public class TreeCalculator
+public class TreeCalculator extends Thread// add threading
{
+ SimilarityParamsI similarityParams;
+
+ String treeType;
+
+ String scoreModelName; // if tree computed
/**
*
* @param treeAlgo
* @param substitutionMatrix
- * @param params
+ * @param calculateParams
*/
public TreeCalculator(String treeAlgo, String substitutionMatrix,
SimilarityParamsI calculateParams)
{
- // TODO Auto-generated constructor stub
+ this.treeType = treeAlgo;
+ this.scoreModelName = substitutionMatrix;
+ this.similarityParams = calculateParams;
+ }
+
+ /**
+ *
+ * @param alignViewport
+ * @return
+ */
+ public TreeBuilder makeTree(AlignViewport alignViewport)
+ {
+ ScoreModelI sm = ScoreModels.getInstance().getScoreModel(scoreModelName,
+ alignViewport.getAlignPanel());
+
+ TreeBuilder builtTree = treeType.equals(TreeBuilder.NEIGHBOUR_JOINING)
+ ? new NJTree(alignViewport, sm, similarityParams)
+ : new AverageDistanceTree(alignViewport, sm, similarityParams);
+
+ return builtTree;
+
+ }
+
+ public SimilarityParamsI getSimilarityParams()
+ {
+ return similarityParams;
+ }
+
+ public void setSimilarityParams(SimilarityParamsI similarityParams)
+ {
+ this.similarityParams = similarityParams;
+ }
+
+ public String getTreeType()
+ {
+ return treeType;
+ }
+
+ public void setTreeType(String treeType)
+ {
+ this.treeType = treeType;
}
+ public String getScoreModelName()
+ {
+ return scoreModelName;
+ }
+
+ public void setScoreModelName(String scoreModelName)
+ {
+ this.scoreModelName = scoreModelName;
+ }
+
+
}