3 #include "textfile.h"
\r
7 static const char *pstrOutputFileName;
\r
9 void SetOutputFileName(const char *out)
\r
11 pstrOutputFileName = out;
\r
14 void SetCurrentAlignment(MSA &msa)
\r
19 void SaveCurrentAlignment()
\r
21 static bool bCalled = false;
\r
25 "\nRecursive call to SaveCurrentAlignment, giving up attempt to save.\n");
\r
26 exit(EXIT_FatalError);
\r
29 if (0 == ptrBestMSA)
\r
31 fprintf(stderr, "\nAlignment not completed, cannot save.\n");
\r
32 Log("Alignment not completed, cannot save.\n");
\r
33 exit(EXIT_FatalError);
\r
36 if (0 == pstrOutputFileName)
\r
38 fprintf(stderr, "\nOutput file name not specified, cannot save.\n");
\r
39 exit(EXIT_FatalError);
\r
42 fprintf(stderr, "\nSaving current alignment ...\n");
\r
44 TextFile fileOut(pstrOutputFileName, true);
\r
45 ptrBestMSA->ToFASTAFile(fileOut);
\r
47 fprintf(stderr, "Current alignment saved to \"%s\".\n", pstrOutputFileName);
\r
48 Log("Current alignment saved to \"%s\".\n", pstrOutputFileName);
\r
53 if (0 == g_ulMaxSecs)
\r
56 time_t Now = time(0);
\r
57 time_t ElapsedSecs = Now - GetStartTime();
\r
58 if (ElapsedSecs <= (time_t) g_ulMaxSecs)
\r
61 Log("Max time %s exceeded, elapsed seconds = %ul\n",
\r
62 MaxSecsToStr(), ElapsedSecs);
\r
64 SaveCurrentAlignment();
\r