+++ /dev/null
-#include "muscle.h"\r
-#include "textfile.h"\r
-#include "seqvect.h"\r
-#include "distfunc.h"\r
-#include "msa.h"\r
-#include "tree.h"\r
-#include "clust.h"\r
-#include "profile.h"\r
-#include "clustsetmsa.h"\r
-\r
-void Refine()\r
- {\r
- SetOutputFileName(g_pstrOutFileName);\r
- SetInputFileName(g_pstrInFileName);\r
- SetStartTime();\r
-\r
- SetMaxIters(g_uMaxIters);\r
- SetSeqWeightMethod(g_SeqWeight1);\r
-\r
- TextFile fileIn(g_pstrInFileName);\r
- MSA msa;\r
- msa.FromFile(fileIn);\r
-\r
- const unsigned uSeqCount = msa.GetSeqCount();\r
- if (0 == uSeqCount)\r
- Quit("No sequences in input file");\r
-\r
- ALPHA Alpha = ALPHA_Undefined;\r
- switch (g_SeqType)\r
- {\r
- case SEQTYPE_Auto:\r
- Alpha = msa.GuessAlpha();\r
- break;\r
-\r
- case SEQTYPE_Protein:\r
- Alpha = ALPHA_Amino;\r
- break;\r
-\r
- case SEQTYPE_DNA:\r
- Alpha = ALPHA_DNA;\r
- break;\r
-\r
- case SEQTYPE_RNA:\r
- Alpha = ALPHA_RNA;\r
- break;\r
-\r
- default:\r
- Quit("Invalid SeqType");\r
- }\r
- SetAlpha(Alpha);\r
- msa.FixAlpha();\r
-\r
- SetPPScore();\r
- if (ALPHA_DNA == Alpha || ALPHA_RNA == Alpha)\r
- SetPPScore(PPSCORE_SPN);\r
-\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
- Tree GuideTree;\r
- TreeFromMSA(msa, GuideTree, g_Cluster2, g_Distance2, g_Root2);\r
- SetMuscleTree(GuideTree);\r
-\r
- if (g_bAnchors)\r
- RefineVert(msa, GuideTree, g_uMaxIters);\r
- else\r
- RefineHoriz(msa, GuideTree, g_uMaxIters, false, false);\r
-\r
- ValidateMuscleIds(msa);\r
- ValidateMuscleIds(GuideTree);\r
-\r
-// TextFile fileOut(g_pstrOutFileName, true);\r
-// msa.ToFile(fileOut);\r
- MuscleOutput(msa);\r
- }\r