void Run() { SetStartTime(); Log("Started %s\n", GetTimeAsStr()); for (int i = 0; i < g_argc; ++i) Log("%s ", g_argv[i]); Log("\n"); #if TIMING TICKS t1 = GetClockTicks(); #endif if (g_bRefine) Refine(); else if (g_bRefineW) { extern void DoRefineW(); DoRefineW(); } else if (g_bProfDB) ProfDB(); else if (g_bSW) Local(); else if (0 != g_pstrSPFileName) DoSP(); else if (g_bProfile) Profile(); else if (g_bPPScore) PPScore(); else if (g_bPAS) ProgAlignSubFams(); else DoMuscle(); #if TIMING extern TICKS g_ticksDP; extern TICKS g_ticksObjScore; TICKS t2 = GetClockTicks(); TICKS TotalTicks = t2 - t1; TICKS ticksOther = TotalTicks - g_ticksDP - g_ticksObjScore; double dSecs = TicksToSecs(TotalTicks); double PctDP = (double) g_ticksDP*100.0/(double) TotalTicks; double PctOS = (double) g_ticksObjScore*100.0/(double) TotalTicks; double PctOther = (double) ticksOther*100.0/(double) TotalTicks; Log(" Ticks Secs Pct\n"); Log(" ============ ======= =====\n"); Log("DP %12ld %7.2f %5.1f%%\n", (long) g_ticksDP, TicksToSecs(g_ticksDP), PctDP); Log("OS %12ld %7.2f %5.1f%%\n", (long) g_ticksObjScore, TicksToSecs(g_ticksObjScore), PctOS); Log("Other %12ld %7.2f %5.1f%%\n", (long) ticksOther, TicksToSecs(ticksOther), PctOther); Log("Total %12ld %7.2f 100.0%%\n", (long) TotalTicks, dSecs); #endif ListDiagSavings(); Log("Finished %s\n", GetTimeAsStr()); }
void OnException() { fprintf(stderr, "%s", szOnExceptionMessage); Log("%s", szOnExceptionMessage); Log("Finished %s\n", GetTimeAsStr()); exit(EXIT_Except); }
// Exit immediately with error message, printf-style. void Quit(const char szFormat[], ...) { MuscleException e; va_list ArgList; va_start(ArgList, szFormat); vsprintf(e.str, szFormat, ArgList); fprintf(stderr, "\n*** ERROR *** %s\n", e.str); Log("\n*** FATAL ERROR *** "); Log("%s\n", e.str); Log("Stopped %s\n", GetTimeAsStr()); throw e; // exit(EXIT_FatalError); }
// Exit immediately with error message, printf-style. void Quit(const char szFormat[], ...) { va_list ArgList; char szStr[4096]; va_start(ArgList, szFormat); vsprintf(szStr, szFormat, ArgList); fprintf(stderr, "\n*** ERROR *** %s\n", szStr); Log("\n*** FATAL ERROR *** "); Log("%s\n", szStr); Log("Stopped %s\n", GetTimeAsStr()); #ifdef WIN32 if (IsDebuggerPresent()) { int iBtn = MessageBox(NULL, szStr, "muscle", MB_ICONERROR | MB_OKCANCEL); if (IDCANCEL == iBtn) Break(); } #endif exit(EXIT_FatalError); }