+++ /dev/null
-#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