source: branches/help/GDE/MUSCLE/src/muscleout.cpp

Last change on this file was 10390, checked in by aboeckma, 11 years ago

added muscle sourcles amd makefile

File size: 2.1 KB
Line 
1#include "muscle.h"
2#include "msa.h"
3#include "params.h"
4#include "textfile.h"
5
6static void DoOutput(MSA &msa)
7        {
8        bool AnyOutput = false;
9
10// Value options
11        if (g_pstrFASTAOutFileName)
12                {
13                TextFile File(g_pstrFASTAOutFileName, true);
14                msa.ToFASTAFile(File);
15                AnyOutput = true;
16                }
17
18        if (g_pstrMSFOutFileName)
19                {
20                TextFile File(g_pstrMSFOutFileName, true);
21                msa.ToMSFFile(File);
22                AnyOutput = true;
23                }
24
25        if (g_pstrClwOutFileName)
26                {
27                TextFile File(g_pstrClwOutFileName, true);
28                msa.ToAlnFile(File);
29                AnyOutput = true;
30                }
31
32        if (g_pstrClwStrictOutFileName)
33                {
34                g_bClwStrict = true;
35                TextFile File(g_pstrClwStrictOutFileName, true);
36                msa.ToAlnFile(File);
37                AnyOutput = true;
38                }
39
40        if (g_pstrHTMLOutFileName)
41                {
42                TextFile File(g_pstrHTMLOutFileName, true);
43                msa.ToHTMLFile(File);
44                AnyOutput = true;
45                }
46
47        if (g_pstrPHYIOutFileName)
48                {
49                TextFile File(g_pstrPHYIOutFileName, true);
50                msa.ToPhyInterleavedFile(File);
51                AnyOutput = true;
52                }
53
54        if (g_pstrPHYSOutFileName)
55                {
56                TextFile File(g_pstrPHYSOutFileName, true);
57                msa.ToPhySequentialFile(File);
58                AnyOutput = true;
59                }
60
61// Flag options, at most one used (because only one -out filename)
62        TextFile fileOut(g_pstrOutFileName, true);
63        if (g_bFASTA)
64                {
65                msa.ToFASTAFile(fileOut);
66                AnyOutput = true;
67                }
68        else if (g_bMSF)
69                {
70                msa.ToMSFFile(fileOut);
71                AnyOutput = true;
72                }
73        else if (g_bAln)
74                {
75                msa.ToAlnFile(fileOut);
76                AnyOutput = true;
77                }
78        else if (g_bHTML)
79                {
80                msa.ToHTMLFile(fileOut);
81                AnyOutput = true;
82                }
83        else if (g_bPHYI)
84                {
85                msa.ToPhyInterleavedFile(fileOut);
86                AnyOutput = true;
87                }
88        else if (g_bPHYS)
89                {
90                msa.ToPhySequentialFile(fileOut);
91                AnyOutput = true;
92                }
93
94// If -out option was given but no flags, output as FASTA
95        if (!AnyOutput)
96                msa.ToFASTAFile(fileOut);
97       
98        fileOut.Close();
99
100        if (0 != g_pstrScoreFileName)
101                WriteScoreFile(msa);
102        }
103
104void MuscleOutput(MSA &msa)
105        {
106        MHackEnd(msa);
107        if (g_bStable)
108                {
109                MSA msaStable;
110                Stabilize(msa, msaStable);
111                msa.Clear();    // save memory
112                DoOutput(msaStable);
113                }
114        else
115                DoOutput(msa);
116        }
Note: See TracBrowser for help on using the repository browser.