--- /dev/null
+#include "muscle.h"\r
+#include "msa.h"\r
+#include "textfile.h"\r
+#include "tree.h"\r
+\r
+void DoMakeTree()\r
+ {\r
+ if (g_pstrInFileName == 0 || g_pstrOutFileName == 0)\r
+ Quit("-maketree requires -in <msa> and -out <treefile>");\r
+\r
+ SetStartTime();\r
+\r
+ SetSeqWeightMethod(g_SeqWeight1);\r
+\r
+ TextFile MSAFile(g_pstrInFileName);\r
+\r
+ MSA msa;\r
+ msa.FromFile(MSAFile);\r
+\r
+ unsigned uSeqCount = msa.GetSeqCount();\r
+ MSA::SetIdCount(uSeqCount);\r
+\r
+// Initialize sequence ids.\r
+// From this point on, ids must somehow propogate from here.\r
+ for (unsigned uSeqIndex = 0; uSeqIndex < uSeqCount; ++uSeqIndex)\r
+ msa.SetSeqId(uSeqIndex, uSeqIndex);\r
+ SetMuscleInputMSA(msa);\r
+\r
+ Progress("%u sequences", uSeqCount);\r
+\r
+ Tree tree;\r
+ TreeFromMSA(msa, tree, g_Cluster2, g_Distance2, g_Root2);\r
+\r
+ TextFile TreeFile(g_pstrOutFileName, true);\r
+ tree.ToFile(TreeFile);\r
+\r
+ Progress("Tree created");\r
+ }\r