Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / muscle / muscleout.cpp
diff --git a/website/archive/binaries/mac/src/muscle/muscleout.cpp b/website/archive/binaries/mac/src/muscle/muscleout.cpp
new file mode 100644 (file)
index 0000000..d4c451c
--- /dev/null
@@ -0,0 +1,116 @@
+#include "muscle.h"\r
+#include "msa.h"\r
+#include "params.h"\r
+#include "textfile.h"\r
+\r
+static void DoOutput(MSA &msa)\r
+       {\r
+       bool AnyOutput = false;\r
+\r
+// Value options\r
+       if (g_pstrFASTAOutFileName)\r
+               {\r
+               TextFile File(g_pstrFASTAOutFileName, true);\r
+               msa.ToFASTAFile(File);\r
+               AnyOutput = true;\r
+               }\r
+\r
+       if (g_pstrMSFOutFileName)\r
+               {\r
+               TextFile File(g_pstrMSFOutFileName, true);\r
+               msa.ToMSFFile(File);\r
+               AnyOutput = true;\r
+               }\r
+\r
+       if (g_pstrClwOutFileName)\r
+               {\r
+               TextFile File(g_pstrClwOutFileName, true);\r
+               msa.ToAlnFile(File);\r
+               AnyOutput = true;\r
+               }\r
+\r
+       if (g_pstrClwStrictOutFileName)\r
+               {\r
+               g_bClwStrict = true;\r
+               TextFile File(g_pstrClwStrictOutFileName, true);\r
+               msa.ToAlnFile(File);\r
+               AnyOutput = true;\r
+               }\r
+\r
+       if (g_pstrHTMLOutFileName)\r
+               {\r
+               TextFile File(g_pstrHTMLOutFileName, true);\r
+               msa.ToHTMLFile(File);\r
+               AnyOutput = true;\r
+               }\r
+\r
+       if (g_pstrPHYIOutFileName)\r
+               {\r
+               TextFile File(g_pstrPHYIOutFileName, true);\r
+               msa.ToPhyInterleavedFile(File);\r
+               AnyOutput = true;\r
+               }\r
+\r
+       if (g_pstrPHYSOutFileName)\r
+               {\r
+               TextFile File(g_pstrPHYSOutFileName, true);\r
+               msa.ToPhySequentialFile(File);\r
+               AnyOutput = true;\r
+               }\r
+\r
+// Flag options, at most one used (because only one -out filename)\r
+       TextFile fileOut(g_pstrOutFileName, true);\r
+       if (g_bFASTA)\r
+               {\r
+               msa.ToFASTAFile(fileOut);\r
+               AnyOutput = true;\r
+               }\r
+       else if (g_bMSF)\r
+               {\r
+               msa.ToMSFFile(fileOut);\r
+               AnyOutput = true;\r
+               }\r
+       else if (g_bAln)\r
+               {\r
+               msa.ToAlnFile(fileOut);\r
+               AnyOutput = true;\r
+               }\r
+       else if (g_bHTML)\r
+               {\r
+               msa.ToHTMLFile(fileOut);\r
+               AnyOutput = true;\r
+               }\r
+       else if (g_bPHYI)\r
+               {\r
+               msa.ToPhyInterleavedFile(fileOut);\r
+               AnyOutput = true;\r
+               }\r
+       else if (g_bPHYS)\r
+               {\r
+               msa.ToPhySequentialFile(fileOut);\r
+               AnyOutput = true;\r
+               }\r
+\r
+// If -out option was given but no flags, output as FASTA\r
+       if (!AnyOutput)\r
+               msa.ToFASTAFile(fileOut);\r
+       \r
+       fileOut.Close();\r
+\r
+       if (0 != g_pstrScoreFileName)\r
+               WriteScoreFile(msa);\r
+       }\r
+\r
+void MuscleOutput(MSA &msa)\r
+       {\r
+       MHackEnd(msa);\r
+       if (g_bStable)\r
+               {\r
+               MSA msaStable;\r
+               Stabilize(msa, msaStable);\r
+               msa.Clear();    // save memory\r
+               DoOutput(msaStable);\r
+               }\r
+       else\r
+               DoOutput(msa);\r
+       }\r