source: branches/stable/GDE/MUSCLE/src/profdb.cpp

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

added muscle sourcles amd makefile

File size: 1.2 KB
Line 
1#include "muscle.h"
2#include "textfile.h"
3#include "seqvect.h"
4#include "distfunc.h"
5#include "msa.h"
6#include "tree.h"
7#include "clust.h"
8#include "profile.h"
9#include "clustsetmsa.h"
10
11void ProfDB()
12        {
13        SetOutputFileName(g_pstrOutFileName);
14        SetInputFileName(g_pstrFileName2);
15        SetStartTime();
16
17        TextFile file1(g_pstrFileName1);
18        TextFile file2(g_pstrFileName2);
19
20        SetMaxIters(g_uMaxIters);
21        SetSeqWeightMethod(g_SeqWeight1);
22
23        TextFile fileIn(g_pstrFileName1);
24        MSA msa1;
25        msa1.FromFile(fileIn);
26
27        const unsigned uSeqCount1 = msa1.GetSeqCount();
28        if (0 == uSeqCount1)
29                Quit("No sequences in input alignment");
30
31        SeqVect v;
32        v.FromFASTAFile(file2);
33        const unsigned uSeqCount2 = v.Length();
34        if (0 == uSeqCount2)
35                Quit("No sequences in input alignment");
36
37        MSA::SetIdCount(uSeqCount1 + uSeqCount2);
38        SetProgressDesc("Align sequence database to profile");
39        for (unsigned uSeqIndex = 0; uSeqIndex < uSeqCount2; ++uSeqIndex)
40                {
41                Progress(uSeqIndex, uSeqCount2);
42                Seq &s = *(v[uSeqIndex]);
43                s.SetId(0);
44                MSA msaTmp;
45                msaTmp.FromSeq(s);
46                MSA msaOut;
47                ProfileProfile(msa1, msaTmp, msaOut);
48                msa1.Copy(msaOut);
49                }
50        ProgressStepsDone();
51
52        TextFile fileOut(g_pstrOutFileName, true);
53        msa1.ToFile(fileOut);
54        }
Note: See TracBrowser for help on using the repository browser.