Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / muscle / dosp.cpp
diff --git a/website/archive/binaries/mac/src/muscle/dosp.cpp b/website/archive/binaries/mac/src/muscle/dosp.cpp
new file mode 100644 (file)
index 0000000..8a8632e
--- /dev/null
@@ -0,0 +1,60 @@
+#include "muscle.h"\r
+#include "textfile.h"\r
+#include "msa.h"\r
+#include "objscore.h"\r
+#include "tree.h"\r
+#include "profile.h"\r
+\r
+void DoSP()\r
+       {\r
+       TextFile f(g_pstrSPFileName);\r
+\r
+       MSA a;\r
+       a.FromFile(f);\r
+\r
+       ALPHA Alpha = ALPHA_Undefined;\r
+       switch (g_SeqType)\r
+               {\r
+       case SEQTYPE_Auto:\r
+               Alpha = a.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
+       a.FixAlpha();\r
+\r
+       SetPPScore();\r
+\r
+       const unsigned uSeqCount = a.GetSeqCount();\r
+       if (0 == uSeqCount)\r
+               Quit("No sequences in input file %s", g_pstrSPFileName);\r
+\r
+       MSA::SetIdCount(uSeqCount);\r
+       for (unsigned uSeqIndex = 0; uSeqIndex < uSeqCount; ++uSeqIndex)\r
+               a.SetSeqId(uSeqIndex, uSeqIndex);\r
+\r
+       SetSeqWeightMethod(g_SeqWeight1);\r
+       Tree tree;\r
+       TreeFromMSA(a, tree, g_Cluster2, g_Distance2, g_Root2);\r
+       SetMuscleTree(tree);\r
+       SetMSAWeightsMuscle((MSA &) a);\r
+\r
+       SCORE SP = ObjScoreSP(a);\r
+\r
+       Log("File=%s;SP=%.4g\n", g_pstrSPFileName, SP);\r
+       fprintf(stderr, "File=%s;SP=%.4g\n", g_pstrSPFileName, SP);\r
+       }\r