+++ /dev/null
-#include "muscle.h"\r
-#include "textfile.h"\r
-#include "seqvect.h"\r
-#include "distfunc.h"\r
-#include "msa.h"\r
-#include "tree.h"\r
-#include "clust.h"\r
-#include "profile.h"\r
-#include "clustsetmsa.h"\r
-\r
-void ProfDB()\r
- {\r
- SetOutputFileName(g_pstrOutFileName);\r
- SetInputFileName(g_pstrFileName2);\r
- SetStartTime();\r
-\r
- TextFile file1(g_pstrFileName1);\r
- TextFile file2(g_pstrFileName2);\r
-\r
- SetMaxIters(g_uMaxIters);\r
- SetSeqWeightMethod(g_SeqWeight1);\r
-\r
- TextFile fileIn(g_pstrFileName1);\r
- MSA msa1;\r
- msa1.FromFile(fileIn);\r
-\r
- const unsigned uSeqCount1 = msa1.GetSeqCount();\r
- if (0 == uSeqCount1)\r
- Quit("No sequences in input alignment");\r
-\r
- SeqVect v;\r
- v.FromFASTAFile(file2);\r
- const unsigned uSeqCount2 = v.Length();\r
- if (0 == uSeqCount2)\r
- Quit("No sequences in input alignment");\r
-\r
- MSA::SetIdCount(uSeqCount1 + uSeqCount2);\r
- SetProgressDesc("Align sequence database to profile");\r
- for (unsigned uSeqIndex = 0; uSeqIndex < uSeqCount2; ++uSeqIndex)\r
- {\r
- Progress(uSeqIndex, uSeqCount2);\r
- Seq &s = *(v[uSeqIndex]);\r
- s.SetId(0);\r
- MSA msaTmp;\r
- msaTmp.FromSeq(s);\r
- MSA msaOut;\r
- ProfileProfile(msa1, msaTmp, msaOut);\r
- msa1.Copy(msaOut);\r
- }\r
- ProgressStepsDone();\r
-\r
- TextFile fileOut(g_pstrOutFileName, true);\r
- msa1.ToFile(fileOut);\r
- }\r