本文整理汇总了C++中CStopWatch::Read方法的典型用法代码示例。如果您正苦于以下问题:C++ CStopWatch::Read方法的具体用法?C++ CStopWatch::Read怎么用?C++ CStopWatch::Read使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStopWatch
的用法示例。
在下文中一共展示了CStopWatch::Read方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _tmain
//.........这里部分代码省略.........
printf("\n%s csv2stats, Version %s\nOptions ---\n", gszProcName,cpszProgVer);
arg_print_syntax(stdout,argtable,"\n");
arg_print_glossary(stdout,argtable," %-25s %s\n");
printf("\nNote: Parameters can be entered into a parameter file, one parameter per line.");
printf("\n To invoke this parameter file then precede its name with '@'");
printf("\n e.g. %s @myparams.txt\n\n",gszProcName);
exit(1);
}
/* special case: '--version' takes precedence error reporting */
if (version->count > 0)
{
printf("\n%s Version %s\n",gszProcName,cpszProgVer);
exit(1);
}
if (!argerrors)
{
if(FileLogLevel->count && !LogFile->count)
{
printf("\nError: FileLogLevel '-f%d' specified but no logfile '-F<logfile>'",FileLogLevel->ival[0]);
exit(1);
}
iScreenLogLevel = iFileLogLevel = FileLogLevel->count ? FileLogLevel->ival[0] : eDLInfo;
if(iFileLogLevel < eDLNone || iFileLogLevel > eDLDebug)
{
printf("\nError: FileLogLevel '-l%d' specified outside of range %d..%d",iFileLogLevel,eDLNone,eDLDebug);
exit(1);
}
if(LogFile->count)
{
strncpy(szLogFile,LogFile->filename[0],_MAX_PATH);
szLogFile[_MAX_PATH-1] = '\0';
}
else
{
iFileLogLevel = eDLNone;
szLogFile[0] = '\0';
}
bSkipFirst = SkipFirst->count ? true : false;
iMinLength = MinLength->count ? MinLength->ival[0] : cDfltMinLengthRange;
if(iMinLength < 1 || iMinLength > cMaxLengthRange)
{
printf("Error: Mininum element length '-l%d' is not in range 1..%d",iMinLength,cMaxLengthRange);
exit(1);
}
iMaxLength = MaxLength->count ? MaxLength->ival[0] : cMaxLengthRange;
if(iMaxLength < iMinLength || iMaxLength > cMaxLengthRange)
{
printf("Error: Maximum element length '-L%d' is not in range %d..%d",iMaxLength,iMinLength,cMaxLengthRange);
exit(1);
}
strncpy(szInLociFile,InLociFile->filename[0],_MAX_PATH);
szInLociFile[_MAX_PATH-1] = '\0';
strncpy(szInSeqFile,InSeqFile->filename[0],_MAX_PATH);
szInSeqFile[_MAX_PATH-1] = '\0';
strncpy(szRsltsFile,RsltsFile->filename[0],_MAX_PATH);
szRsltsFile[_MAX_PATH-1] = '\0';
// now that command parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem.");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created",szLogFile);
exit(1);
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %s Processing parameters:",cpszProgVer);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Input CSV element loci file: '%s'",szInLociFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Input bioseq genome assembly file: '%s'",szInSeqFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Output to file: '%s'",szRsltsFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"First line contains header: %s",bSkipFirst ? "yes" : "no");
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Minimum element length: %d",iMinLength);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Maximum element length: %d",iMaxLength);
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
// processing here...
Rslt = Process(bSkipFirst,iMinLength,iMaxLength,szInLociFile,szInSeqFile,szRsltsFile);
gStopWatch.Stop();
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
printf("\n%s csv2stats, Version %s\n",gszProcName,cpszProgVer);
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nUse '-h' to view option and parameter usage\n");
exit(1);
}
}
示例2: _tmain
//.........这里部分代码省略.........
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %s",cpszProgVer);
iMode = Mode->count ? Mode->ival[0] : 0;
if(iMode < 0 || iMode >= cMaxSupportedModes)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: Unsupported Mode '-m%d' requested",iMode);
exit(1);
}
KMerLen = 0;
switch(iMode) {
case 0: // generate random species fasta sequence
for(NumInFileSpecs=Idx=0;NumInFileSpecs < cMaxInFileSpecs && Idx < InFiles->count; Idx++)
{
pszInFiles[Idx] = NULL;
if(pszInFiles[NumInFileSpecs] == NULL)
pszInFiles[NumInFileSpecs] = new char [_MAX_PATH];
strncpy(pszInFiles[NumInFileSpecs],InFiles->filename[Idx],_MAX_PATH);
pszInFiles[NumInFileSpecs][_MAX_PATH-1] = '\0';
CUtility::TrimQuotedWhitespcExtd(pszInFiles[NumInFileSpecs]);
if(pszInFiles[NumInFileSpecs][0] != '\0')
NumInFileSpecs++;
}
if(!NumInFileSpecs)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: After removal of whitespace, no input file(s) specified with '-i<filespec>' option)\n");
exit(1);
}
KMerLen = kmerlen->count ? kmerlen->ival[0] : cDfltKMerLen;
if(KMerLen < 1 || KMerLen > cMaxKMerLen)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: K-mer length specified with '-k%d' is outside of range 1..10",KMerLen);
exit(1);
}
if(!OutFile->count || OutFile->filename[0][0] == '\0')
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: No output fasta file specified with '-o<filename>'");
exit(1);
}
strncpy(szOutputFile,OutFile->filename[0],_MAX_PATH);
szOutputFile[_MAX_PATH] = '\0';
if(!RandSeed->count)
iRandSeed = -1;
else
{
iRandSeed = RandSeed->ival[0];
if(iRandSeed < 0 || iRandSeed > 32767)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: Random seed specified as '-s%d' must be between 0 and 32767",iRandSeed);
exit(1);
}
}
break;
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Processing parameters:");
switch(iMode) {
case 0:
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Mode: 0 (randomise genome K-mers)");
for(Idx=0; Idx < NumInFileSpecs; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Use frequency compositions from these genome multifasta file(s) (%d): '%s'",Idx+1,pszInFiles[Idx]);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Maintain K-mer composition of length: %d",KMerLen);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Genome output file: '%s'",szOutputFile);
if(iRandSeed >= 0)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Random seed: %d",iRandSeed);
else
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Random seed: will use current time as seed");
break;
}
gStopWatch.Start();
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
Rslt = GenerateRandFasta(iMode,KMerLen,NumInFileSpecs,pszInFiles,szOutputFile,iRandSeed);
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
printf("\n%s Kanga randomise genome K-mers, Version %s\n",gszProcName,cpszProgVer);
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nUse '-h' to view option and parameter usage\n");
exit(1);
}
return 0;
}
示例3: _tmain
//.........这里部分代码省略.........
arg_print_glossary(stdout,argtable," %-25s %s\n");
printf("\nNote: Parameters can be entered into a parameter file, one parameter per line.");
printf("\n To invoke this parameter file then precede its name with '@'");
printf("\n e.g. %s @myparams.txt\n",gszProcName);
printf("\nPlease report any issues regarding usage of %s at https://github.com/csiro-crop-informatics/biokanga/issues\n\n",gszProcName);
exit(1);
}
/* special case: '--version' takes precedence error reporting */
if (version->count > 0)
{
printf("\n%s Version %s\n",gszProcName,cpszProgVer);
exit(1);
}
if (!argerrors)
{
if(FileLogLevel->count && !LogFile->count)
{
printf("\nError: FileLogLevel '-f%d' specified but no logfile '-F<logfile>'",FileLogLevel->ival[0]);
exit(1);
}
iScreenLogLevel = iFileLogLevel = FileLogLevel->count ? FileLogLevel->ival[0] : eDLInfo;
if(iFileLogLevel < eDLNone || iFileLogLevel > eDLDebug)
{
printf("\nError: FileLogLevel '-l%d' specified outside of range %d..%d",iFileLogLevel,eDLNone,eDLDebug);
exit(1);
}
if(LogFile->count)
{
strncpy(szLogFile,LogFile->filename[0],_MAX_PATH);
szLogFile[_MAX_PATH-1] = '\0';
}
else
{
iFileLogLevel = eDLNone;
szLogFile[0] = '\0';
}
FMode = (etFMode)(format->count ? format->ival[0] : eFMdefault);
if(FMode < eFMdefault || FMode >= eFMplaceholder)
{
printf("\nError: Requested output format '-M%d' not supported, must be in range %d..%d",FMode,eFMdefault,eFMplaceholder-1);
exit(1);
}
strcpy(szInputFileSpec,InFile->filename[0]);
strcpy(szOutputFileSpec,OutFile->filename[0]);
// now that command parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem.");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created",szLogFile);
exit(1);
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %s Processing parameters:",cpszProgVer);
const char *pszDescr;
switch(FMode) {
case eFMdefault: // default is for multifasta
pszDescr = "Multifasta";
break;
case eFMcsv: // CSV entries
pszDescr = "CSV format";
break;
case eFMbed: // BED entries
pszDescr = "BED format";
break;
case eFMxml: // XML entries
pszDescr = "XML format";
break;
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"dump output format: %s",pszDescr);
gDiagnostics.DiagOut(eDLInfo,gszProcName,"input biosequence file: '%s'",szInputFileSpec);
gDiagnostics.DiagOut(eDLInfo,gszProcName,"output to file: '%s'",szOutputFileSpec);
gStopWatch.Start();
Rslt = Process(szInputFileSpec,szOutputFileSpec,FMode);
gStopWatch.Stop();
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
printf("\n%s Dump biosequence (generated by genbioseq) file contents, Version %s\n",gszProcName,cpszProgVer);
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nUse '-h' to view option and parameter usage\n");
exit(1);
}
}
示例4: _tmain
//.........这里部分代码省略.........
{
printf("\nSpecified region '-g%d' outside of range 0..%d",Region,eMEG3UTR);
exit(1);
}
NumIncludeChroms = includechroms->count;
for(Idx=0;Idx < includechroms->count; Idx++)
{
LenFileList = (int)strlen(includechroms->sval[Idx]);
pszIncludeChroms[Idx] = new char [LenFileList+1];
strcpy(pszIncludeChroms[Idx],includechroms->sval[Idx]);
TrimQuotes(pszIncludeChroms[Idx]);
}
NumExcludeChroms = excludechroms->count;
for(Idx=0;Idx < excludechroms->count; Idx++)
{
LenFileList = (int)strlen(excludechroms->sval[Idx]);
pszExcludeChroms[Idx] = new char [LenFileList+1];
strcpy(pszExcludeChroms[Idx],excludechroms->sval[Idx]);
TrimQuotes(pszExcludeChroms[Idx]);
}
if(!infiles->count)
{
printf("\nError: No input file(s) specified with with '-i<filespec>' option)");
exit(1);
}
for(NumInFiles=Idx=0;NumInFiles < cMaxNumBedFiles && Idx < infiles->count; Idx++)
{
pszInFileSpecs[Idx] = NULL;
if(pszInFileSpecs[NumInFiles] == NULL)
pszInFileSpecs[NumInFiles] = new char [_MAX_PATH];
strncpy(pszInFileSpecs[NumInFiles],infiles->filename[Idx],_MAX_PATH);
pszInFileSpecs[NumInFiles][_MAX_PATH-1] = '\0';
CUtility::TrimQuotedWhitespcExtd(pszInFileSpecs[NumInFiles]);
if(pszInFileSpecs[NumInFiles][0] != '\0')
NumInFiles++;
}
if(!NumInFiles)
{
printf("\nError: After removal of whitespace, no input file(s) specified with '-i<filespec>' option)");
exit(1);
}
strncpy(szOutFile,OutFile->filename[0],_MAX_PATH);
szOutFile[_MAX_PATH-1] = '\0';
// now that command parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem.");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created",szLogFile);
exit(1);
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %s Processing parameters:",cpszProgVer);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing Mode: %d (%s)",iProcMode,ProcMode2Txt((etProcMode)iProcMode));
gDiagnostics.DiagOutMsgOnly(eDLInfo,"process for this strand only: '%c'",(char)Strand);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"generated merged features will be at least this length: %d",MinLen);
if(JoinLen == 0)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"keep separate features, no merging");
else
gDiagnostics.DiagOutMsgOnly(eDLInfo,"merge features separated by upto: %d",JoinLen);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Retain Region: %s",Region2Txt((etBEDRegion)Region));
for(Idx = 0; Idx < NumIncludeChroms; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"reg expressions defining chroms to include: '%s'",pszIncludeChroms[Idx]);
for(Idx = 0; Idx < NumExcludeChroms; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"reg expressions defining chroms to exclude: '%s'",pszExcludeChroms[Idx]);
for(Idx=0;Idx < NumInFiles; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"merge features from this input BED file (%d): '%s'",Idx+1,pszInFileSpecs[Idx]);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Output merged features into BED file: '%s'",szOutFile);
gStopWatch.Start();
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
Rslt = Process((etProcMode)iProcMode,Strand,MinLen,JoinLen,Region,
NumIncludeChroms, // number of chromosome regular expressions to include
pszIncludeChroms, // array of include chromosome regular expressions
NumExcludeChroms, // number of chromosome expressions to exclude
pszExcludeChroms, // array of exclude chromosome regular expressions
NumInFiles,pszInFileSpecs,szOutFile);
gStopWatch.Stop();
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
printf("\n%s BED Merge Blocks, Version %s\n",gszProcName,cpszProgVer);
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nUse '-h' to view option and parameter usage\n");
exit(1);
}
}
示例5: _tmain
//.........这里部分代码省略.........
if(iMinMergeLength < 0 || iMinMergeLength > cMaxLengthRange)
{
printf("Error: Minimum output merged element length '-m%d' is not in range 0..%d",iMinMergeLength,cMaxLengthRange);
exit(1);
}
iMaxMergeLength = MaxMergeLength->count ? MaxMergeLength->ival[0] : cDfltMaxLength;
if(iMaxMergeLength < iMinMergeLength || iMaxMergeLength > cMaxLengthRange)
{
printf("Error: Maximum element length '-M%d' is not in range %d..%d",iMaxMergeLength,iMinMergeLength,cMaxLengthRange);
exit(1);
}
iJoinDistance = JoinDistance->count ? JoinDistance->ival[0] : cDfltJoinOverlap;
if(iJoinDistance < 0 || iJoinDistance > cMaxJoinOverlap)
{
printf("Error: Join separation length '-j%d' is not in range %d..%d",iJoinDistance,0,cMaxJoinOverlap);
exit(1);
}
iRefExtend = RefExtend->count ? RefExtend->ival[0] : 0;
if(iRefExtend < (-1 * cMaxExtendLength) || iRefExtend > cMaxExtendLength)
{
printf("Error: Ref Extension length '-e%d' is not in range %d..%d",iRefExtend,(-1 * cMaxExtendLength),cMaxExtendLength);
exit(1);
}
iRelExtend = RelExtend->count ? RelExtend->ival[0] : 0;
if(iRelExtend < (-1 * cMaxExtendLength) || iRelExtend > cMaxExtendLength)
{
printf("Error: Rel Extension length '-E%d' is not in range %d..%d",iRelExtend,(-1 * cMaxExtendLength),cMaxExtendLength);
exit(1);
}
strncpy(szRefFile,RefFile->filename[0],_MAX_PATH);
szRefFile[_MAX_PATH-1] = '\0';
if(RelFile->count)
{
strncpy(szRelFile,RelFile->filename[0],_MAX_PATH);
szRelFile[_MAX_PATH-1] = '\0';
}
else
{
if(iProcMode == ePMElRefExclusive || iProcMode == ePMElRefRelUnion)
szRelFile[0] = '\0';
else
{
printf("Error: Rel loci file must be specified in processing mode '-p%d' (%s)",iProcMode,ProcMode2Txt((etProcMode)iProcMode));
exit(1);
}
}
// now that command parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem.");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created",szLogFile);
exit(1);
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %s Processing parameters:",cpszProgVer);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing Mode: %d (%s)",iProcMode,ProcMode2Txt((etProcMode)iProcMode));
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Reference CSV file: '%s'",szRefFile);
if(szRelFile[0] != '\0')
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Relative CSV file: '%s'",szRelFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Output processed loci into CSV file: '%s'",szOutLociFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Output loci file ref species: '%s'",szRefSpecies);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Output loci file rel species: '%s'",szRelSpecies);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Output loci file element type: '%s'",szElType);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Minimum input element length: %d",iMinLength);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Maximum input element length: %d",iMaxLength);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Ref element flank extension length: %d",iRefExtend);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Rel element flank extension length: %d",iRelExtend);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Merge output elements separated by at most this many bases: %d",iJoinDistance);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Minimum output merged element length: %d",iMinMergeLength);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Maximum output merged element length: %d",iMaxMergeLength);
// processing here...
gStopWatch.Start();
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
Rslt = Process((etProcMode)iProcMode,iMinLength,iMaxLength,iRefExtend,iRelExtend,iJoinDistance,iMinMergeLength,iMaxMergeLength,szRefFile,szRelFile,szOutLociFile,
szRefSpecies,szRelSpecies,szElType);
gStopWatch.Stop();
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
printf("\n%s CSV Merge Elements, Version %s\n",gszProcName,cpszProgVer);
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nUse '-h' to view option and parameter usage\n");
exit(1);
}
}
示例6: _tmain
//.........这里部分代码省略.........
{
iFileLogLevel = eDLNone;
szLogFile[0] = '\0';
}
iProcMode = ProcMode->count ? ProcMode->ival[0] : eProcModeStandard;
if(iProcMode < eProcModeStandard || iProcMode > eProcModeScore)
{
printf("\nError: Requested processing mode '-x%d' not supported",iProcMode);
exit(1);
}
iMinLen = MinLen->count ? MinLen->ival[0] : 0;
if(iMinLen < 0)
{
printf("\nError: Requested minimum length '-l%d' is negative",iMinLen);
exit(1);
}
iMaxLen = MaxLen->count ? MaxLen->ival[0] : 1000000000;
if(iMaxLen < iMinLen)
{
printf("\nError: Requested maximum ength '-l%d' must be >= minimum %d",iMaxLen,iMinLen);
exit(1);
}
strcpy(szRefFile,RefFile->filename[0]);
strcpy(szRelFile,RelFile->filename[0]);
strcpy(szRsltfile,Rsltfile->filename[0]);
if(FilterRefIDFile->count)
{
strncpy(szFilterRefIDFile,FilterRefIDFile->filename[0],sizeof(szFilterRefIDFile));
szFilterRefIDFile[sizeof(szFilterRefIDFile)-1] = '\0';
}
else
szFilterRefIDFile[0] = '\0';
// now that command parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem.");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created",szLogFile);
exit(1);
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %d.%2.2d Processing parameters:",cProgVer/100,cProgVer%100);
switch(iProcMode) {
case eProcModeStandard:
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing mode: Identity = Match/(Match+Mismatch)");
break;
case eProcModeIdentity:
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing mode: Identity = Match/(CoreLength)");
break;
case eProcModeAligned:
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing mode: Aligned = (Match+Mismatch)/CoreLength");
break;
case eProcModeScore:
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing mode: score");
break;
}
gDiagnostics.DiagOutMsgOnly(eDLInfo,"reference csv file to process: '%s'",szRefFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"relative csv file(s) to processs: '%s'",szRelFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"results file to generate: '%s'",szRsltfile);
if(szFilterRefIDFile[0])
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Exclude any RefIDs in this filter file: '%s'",szFilterRefIDFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"minimum length: %d",iMinLen);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"maximum length: %d",iMaxLen);
gStopWatch.Start();
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
Rslt = Process((etProcMode)iProcMode, // processing mode 0: default
szRefFile, // reference csv file to process
szFilterRefIDFile, // exclude any RefIDs in this filter file
szRelFile, // relative csv file(s) to processs
szRsltfile, // results file to generate
iMinLen, // minimum accepted ref length
iMaxLen); // maximum accepted ref length
gStopWatch.Stop();
Rslt = Rslt < 0 ? 1 : 0;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit Code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nend of help\n");
exit(1);
}
return 0;
}
示例7: _tmain
//.........这里部分代码省略.........
if (!argerrors)
{
if(FileLogLevel->count && !LogFile->count)
{
printf("\nError: FileLogLevel '-f%d' specified but no logfile '-F<logfile>\n'",FileLogLevel->ival[0]);
exit(1);
}
iScreenLogLevel = iFileLogLevel = FileLogLevel->count ? FileLogLevel->ival[0] : eDLInfo;
if(iFileLogLevel < eDLNone || iFileLogLevel > eDLDebug)
{
printf("\nError: FileLogLevel '-l%d' specified outside of range %d..%d\n",iFileLogLevel,eDLNone,eDLDebug);
exit(1);
}
if(LogFile->count)
{
strncpy(szLogFile,LogFile->filename[0],_MAX_PATH);
szLogFile[_MAX_PATH-1] = '\0';
}
else
{
iFileLogLevel = eDLNone;
szLogFile[0] = '\0';
}
// now that log parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem\n");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created\n",szLogFile);
exit(1);
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %s",cpszProgVer);
PMode = (etPMode)(pmode->count ? pmode->ival[0] : ePMdefault);
if(PMode < ePMdefault || PMode >= ePMplaceholder)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: Processing mode '-m%d' specified outside of range %d..%d\n",PMode,ePMdefault,(int)ePMplaceholder-1);
exit(1);
}
NumInputFiles = 0;
for(NumInputFiles=Idx=0;NumInputFiles < cMaxInFileSpecs && Idx < pinputfiles->count; Idx++)
{
pszInFastaFile[Idx] = NULL;
if(pszInFastaFile[NumInputFiles] == NULL)
pszInFastaFile[NumInputFiles] = new char [_MAX_PATH];
strncpy(pszInFastaFile[NumInputFiles],pinputfiles->filename[Idx],_MAX_PATH);
pszInFastaFile[NumInputFiles][_MAX_PATH-1] = '\0';
CUtility::TrimQuotedWhitespcExtd(pszInFastaFile[NumInputFiles]);
if(pszInFastaFile[NumInputFiles][0] != '\0')
NumInputFiles++;
}
if(!NumInputFiles)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: After removal of whitespace, no input file(s) specified with '-i<filespec>' option)\n");
exit(1);
}
if(!RsltsFile->count)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: No output BED file specified");
exit(1);
}
strncpy(szRsltsFile,RsltsFile->filename[0],_MAX_PATH);
szRsltsFile[_MAX_PATH-1] = '\0';
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Processing parameters:");
for(Idx=0; Idx < NumInputFiles; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"input fasta sequence files (%d): '%s'",Idx+1,pszInFastaFile[Idx]);
if(szRsltsFile[0] != '\0')
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Output to BED file: '%s'",szRsltsFile);
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
// processing here...
gStopWatch.Start();
Rslt = Process(PMode,NumInputFiles,pszInFastaFile,szRsltsFile);
gStopWatch.Stop();
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
printf("\n%s Generate BED file from multifasta file, Version %s\n",gszProcName,cpszProgVer);
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nUse '-h' to view option and parameter usage\n");
exit(1);
}
return 0;
}
示例8: _tmain
//.........这里部分代码省略.........
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: After removal of whitespace, no SQLite experiment name specified with '-w<str>' option");
return(1);
}
if(experimentdescr->count)
{
strncpy(szExperimentDescr,experimentdescr->sval[0],sizeof(szExperimentDescr)-1);
szExperimentDescr[sizeof(szExperimentDescr)-1] = '\0';
CUtility::TrimQuotedWhitespcExtd(szExperimentDescr);
}
if(strlen(szExperimentDescr) < 1)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: After removal of whitespace, no SQLite experiment description specified with '-W<str>' option");
return(1);
}
gExperimentID = gSQLiteSummaries.StartExperiment(szSQLiteDatabase,false,true,szExperimentName,szExperimentName,szExperimentDescr);
if(gExperimentID < 1)
return(1);
gProcessID = gSQLiteSummaries.AddProcess((char *)gszProcName,(char *)gszProcName,(char *)szExperimentDescr);
if(gProcessID < 1)
return(1);
gProcessingID = gSQLiteSummaries.StartProcessing(gExperimentID,gProcessID,(char *)cpszProgVer);
if(gProcessingID < 1)
return(1);
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Initialised SQLite database '%s' for results summary collection",szSQLiteDatabase);
gDiagnostics.DiagOut(eDLInfo,gszProcName,"SQLite database experiment identifier for '%s' is %d",szExperimentName,gExperimentID);
gDiagnostics.DiagOut(eDLInfo,gszProcName,"SQLite database process identifier for '%s' is %d",(char *)gszProcName,gProcessID);
gDiagnostics.DiagOut(eDLInfo,gszProcName,"SQLite database processing instance identifier is %d",gProcessingID);
}
else
{
szSQLiteDatabase[0] = '\0';
szExperimentDescr[0] = '\0';
}
PMode = mode->count ? mode->ival[0] : 0;
if(PMode < 0 || PMode > 1)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: Processing mode '-m%d' must be in range 0..0",PMode);
return(1);
}
strcpy(szInPE1File,inpe1file->filename[0]);
CUtility::TrimQuotedWhitespcExtd(szInPE1File);
strcpy(szInPE2File,inpe2file->filename[0]);
CUtility::TrimQuotedWhitespcExtd(szInPE2File);
strcpy(szOutFile,outfile->filename[0]);
CUtility::TrimQuotedWhitespcExtd(szOutFile);
// show user current resource limits
#ifndef _WIN32
gDiagnostics.DiagOut(eDLInfo, gszProcName, "Resources: %s",CUtility::ReportResourceLimits());
#endif
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Processing parameters:");
const char *pszDescr;
switch(PMode) {
case 0:
pszDescr = "Corelate PE1 and PE2 alignments";
break;
}
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing mode is : '%s'",pszDescr);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Experiment name : '%s'",szExperimentName);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Experiment description : '%s'",szExperimentDescr);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"SQLite database file: '%s'",szOutFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"PE1 SAM file: '%s'",szInPE1File);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"PE2 SAM file: '%s'",szInPE2File);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Corelations to file: '%s'",szOutFile);
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
gStopWatch.Start();
Rslt = Process(PMode,szInPE1File,szInPE2File,szOutFile);
Rslt = Rslt >=0 ? 0 : 1;
if(gExperimentID > 0)
{
if(gProcessingID)
gSQLiteSummaries.EndProcessing(gProcessingID,Rslt);
gSQLiteSummaries.EndExperiment(gExperimentID);
}
gStopWatch.Stop();
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
printf("\n%s, Version %s\n", gszProcName,cpszProgVer);
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nUse '-h' to view option and parameter usage\n");
exit(1);
}
return 0;
}
示例9: _tmain
//.........这里部分代码省略.........
iMode = Mode->count ? Mode->ival[0] : eProcModeStandard;
if(iMode < eProcModeStandard || iMode > eProcModeStandard)
{
printf("\nError: Requested processing mode '-x%d' not supported",iMode);
exit(1);
}
if(RegionsIn->count)
{
strcpy(szRegionsIn,RegionsIn->sval[0]);
TrimQuotes(szRegionsIn);
if((iRegionsIn = ParseRegions(szRegionsIn)) < 0)
{
printf("Error: unable to parse '-r%s' into regions to retain",szRegionsIn);
exit(1);
}
}
else
{
szRegionsIn[0] = '\0';
iRegionsIn = (cFeatBitIG | cFeatBitUpstream | cFeatBit5UTR | cFeatBitCDS | cFeatBitIntrons | cFeatBit3UTR | cFeatBitDnstream);
}
if(RegionsOut->count)
{
strcpy(szRegionsOut,RegionsOut->sval[0]);
TrimQuotes(szRegionsOut);
if((iRegionsOut = ParseRegions(szRegionsOut)) < 0)
{
printf("Error: unable to parse '-R%s' into regions to remove",szRegionsOut);
exit(1);
}
}
else
{
szRegionsOut[0] = '\0';
iRegionsOut = 0;
}
iRegionsIn &= ~iRegionsOut;
if(!iRegionsIn)
{
printf("Error: no regions to retain");
exit(1);
}
iRegLen = RegLen->count ? RegLen->ival[0] : cDfltRegLen;
if(iRegLen < cMinRegLen)
{
printf("\nRegulatory region length '-L%d' less than minimum %d, assuming you meant to use '-L%d'",iRegLen,cMinRegLen,cMinRegLen);
iRegLen = cMinRegLen;
}
else
{
if(iRegLen > cMaxRegLen)
{
printf("\nRegulatory region length '-L%d' more than maximum %d, assuming you meant to use '-L%d'",iRegLen,cMaxRegLen,cMaxRegLen);
iRegLen = cMaxRegLen;
}
}
strcpy(szInputFile,InFile->filename[0]);
strcpy(szOutputFile,OutFile->filename[0]);
strcpy(szInputBiobedFile,InBedFile->filename[0]);
strcpy(szInSeqFile,InSeqFile->filename[0]);
// now that command parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem.");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created",szLogFile);
exit(1);
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %d.%2.2d Processing parameters:",cProgVer/100,cProgVer%100);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Loci file (.csv) file to process: '%s'",szInputFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"bio assembly (.seq) file to process: '%s'",szInSeqFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"where to write out fasta with random sequences: '%s'",szOutputFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"biobed file containing regional features: '%s'",szInputBiobedFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing mode: %s",iMode == eProcModeStandard ? "standard" : iMode == eProcModeStandard ? "extended" : "summary");
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Accept random samples in any of these regions: '%s'",Regions2Txt(iRegionsIn));
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
Rslt = Process(iMode,iRegionsIn,iRegLen,szInputFile,szInputBiobedFile,szInSeqFile,szOutputFile);
gStopWatch.Stop();
Rslt = Rslt < 0 ? 1 : 0;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit Code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nend of help\n");
exit(1);
}
}
示例10: _tmain
//.........这里部分代码省略.........
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: No input alignment file(s) specified with with '-I<filespec>' option)");
exit(1);
}
for(NumAlignFiles=Idx=0;NumAlignFiles < cRRMaxInFileSpecs && Idx < alignfiles->count; Idx++)
{
pszAlignFiles[Idx] = NULL;
if(pszAlignFiles[NumAlignFiles] == NULL)
pszAlignFiles[NumAlignFiles] = new char [_MAX_PATH];
strncpy(pszAlignFiles[NumAlignFiles],alignfiles->filename[Idx],_MAX_PATH);
pszAlignFiles[NumAlignFiles][_MAX_PATH-1] = '\0';
CUtility::TrimQuotedWhitespcExtd(pszAlignFiles[NumAlignFiles]);
if(pszAlignFiles[NumAlignFiles][0] != '\0')
NumAlignFiles++;
}
if(!NumAlignFiles)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: After removal of whitespace, no input alignment file(s) specified with '-I<filespec>' option");
exit(1);
}
// number of alignment files must be same as the number of SNP files and genome names!
if(NumAlignFiles != NumSNPFiles && NumAlignFiles != NumRelGenomes)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: Expected same number of genome names, alignment files and SNP files, %d genome names, %d alignment files, %d SNP files",NumRelGenomes,NumAlignFiles,NumSNPFiles);
exit(1);
}
MinSpeciesTotCntThres = mincovspecies->count ? mincovspecies->ival[0] : 1;
if(MinSpeciesTotCntThres < 1 || MinSpeciesTotCntThres > 10000)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: Minimum species total bases '-z%d' must be in range 1..10000",MinSpeciesTotCntThres);
exit(1);
}
MinSpeciesWithCnts = mincovspecies->count ? mincovspecies->ival[0] : 1;
if(MinSpeciesWithCnts < 1 || MinSpeciesWithCnts > NumAlignFiles)
{
gDiagnostics.DiagOut(eDLFatal,gszProcName,"Error: Minimum species to call marker '-Z%d' must be in range 1..%d",NumAlignFiles);
exit(1);
}
// show user current resource limits
#ifndef _WIN32
gDiagnostics.DiagOut(eDLInfo, gszProcName, "Resources: %s",CUtility::ReportResourceLimits());
#endif
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Processing parameters:");
const char *pszDescr;
switch(PMode) {
case ePMdefault:
pszDescr = "Default marker processing";
break;
}
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing mode is : '%s'",pszDescr);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Minimum coverage : %d",MinCovBases);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Maximum P-Value : %1.4f'",MaxPValue);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Reference genome assembly name : '%s'",szRefGenome);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Minimum total bases for species at SNP call loci : %d",MinSpeciesTotCntThres);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Maximum alternative species coverage at SNP call loci : %d",AltSpeciesMaxCnt);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Minimum number of species with SNP call at same loci : %d",MinSpeciesWithCnts);
for(Idx=0; Idx < NumRelGenomes; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Alignments and SNPs from this genome (%d) : '%s'",Idx+1,pszRelGenomes[Idx]);
for(Idx=0; Idx < NumSNPFiles; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Input SNP file (%d) : '%s'",Idx+1,pszSNPFiles[Idx]);
for(Idx=0; Idx < NumAlignFiles; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Input alignment file (%d) : '%s'",Idx+1,pszAlignFiles[Idx]);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Output markers to file : '%s'",szMarkerFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"number of threads : %d",NumThreads);
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
gStopWatch.Start();
Rslt = Process(PMode,MinCovBases,MaxPValue,MinSpeciesTotCntThres,MinSpeciesWithCnts,AltSpeciesMaxCnt,szRefGenome,NumRelGenomes,pszRelGenomes,NumThreads,NumSNPFiles,pszSNPFiles,NumAlignFiles,pszAlignFiles,szMarkerFile);
gStopWatch.Stop();
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
printf("\n%s Generate Markers, Version %s\n",gszProcName,cpszProgVer);
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nUse '-h' to view option and parameter usage\n");
exit(1);
}
return 0;
}
示例11: _tmain
//.........这里部分代码省略.........
exit(1);
}
strncpy(szRsltsFile,rsltsfile->filename[0],_MAX_PATH);
szRsltsFile[_MAX_PATH-1] = '\0';
CUtility::TrimQuotedWhitespcExtd(szRsltsFile);
if(szRsltsFile[0] == '\0')
{
printf("\nError: No results file ('-o<file> option') specified after removal of leading/trailing quotes and whitespace");
exit(1);
}
NumIncludeChroms = IncludeChroms->count;
for(Idx=0;Idx < IncludeChroms->count; Idx++)
{
LenChromList = (int)strlen(IncludeChroms->sval[Idx]);
pszIncludeChroms[Idx] = new char [LenChromList+1];
strcpy(pszIncludeChroms[Idx],IncludeChroms->sval[Idx]);
CUtility::TrimQuotes(pszIncludeChroms[Idx]);
}
NumExcludeChroms = ExcludeChroms->count;
for(Idx=0;Idx < ExcludeChroms->count; Idx++)
{
LenChromList = (int)strlen(ExcludeChroms->sval[Idx]);
pszExcludeChroms[Idx] = new char [LenChromList+1];
strcpy(pszExcludeChroms[Idx],ExcludeChroms->sval[Idx]);
CUtility::TrimQuotes(pszExcludeChroms[Idx]);
}
// now that command parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem.");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created",szLogFile);
exit(1);
}
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %d.%2.2d Processing parameters:",cProgVer/100,cProgVer%100);
const char *pszProcMode;
switch(PMode) {
case ePMNDyadRegionDist:
pszProcMode = "background dyad regional distribution";
break;
case ePMNDyadOverlap:
pszProcMode = "sample dyads overlap onto background dyads";
break;
};
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Processing mode: '%s'",pszProcMode);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"offset background loci by: %d",BkgDyadOfs);
if(PMode == ePMNDyadOverlap)
{
gDiagnostics.DiagOutMsgOnly(eDLInfo,"offset sample loci by: %d",SmplDyadOfs);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"window flanking: %d",WindDyad);
}
gDiagnostics.DiagOutMsgOnly(eDLInfo,"input background loci file: '%s'",szDyadFile);
if(PMode == ePMNDyadOverlap)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"input sample loci file: '%s'",szSampleFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"results file: '%s'",szRsltsFile);
for(Idx = 0; Idx < NumIncludeChroms; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"reg expressions defining chroms to include: '%s'",pszIncludeChroms[Idx]);
for(Idx = 0; Idx < NumExcludeChroms; Idx++)
gDiagnostics.DiagOutMsgOnly(eDLInfo,"reg expressions defining chroms to exclude: '%s'",pszExcludeChroms[Idx]);
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
gStopWatch.Start();
Rslt = Process(PMode, // processing mode
BkgDyadOfs, // offset background loci by this many bases to derive dyad loci
SmplDyadOfs, // offset sample loci by this many bases to derive dyad loci
WindDyad, // accept sample dyad as matching background loci if within +/- this many bases
NumIncludeChroms,
pszIncludeChroms,
NumExcludeChroms,
pszExcludeChroms,
szDyadFile, // CSV file containing background dyad loci
szSampleFile, // CSV file containing sample dyad loci
szRsltsFile); // output results to this file
gStopWatch.Stop();
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nend of help\n");
exit(1);
}
return 0;
}
示例12: _tmain
//.........这里部分代码省略.........
else
{
szInclRegionFile[0] = '\0';
OfsLoci = 0;
DeltaLen = 0;
TruncLength = 0;
}
// now that command parameters have been parsed then initialise diagnostics log system
if(!gDiagnostics.Open(szLogFile,(etDiagLevel)iScreenLogLevel,(etDiagLevel)iFileLogLevel,true))
{
printf("\nError: Unable to start diagnostics subsystem.");
if(szLogFile[0] != '\0')
printf(" Most likely cause is that logfile '%s' can't be opened/created",szLogFile);
exit(1);
}
// show user current resource limits
#ifndef _WIN32
gDiagnostics.DiagOut(eDLInfo, gszProcName, "Resources: %s",CUtility::ReportResourceLimits());
#endif
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Version: %d.%2.2d Processing parameters:",cProgVer/100,cProgVer%100);
const char *pszDescr;
switch(PMode) {
case ePMdefault:
pszDescr = "Default - predict from minor groove";
break;
}
gDiagnostics.DiagOutMsgOnly(eDLInfo,"processing mode is : '%s'",pszDescr);
switch(FMode) {
case eFMbedGraphDyads:
pszDescr = "UCSC bedGraph dyads";
break;
case eFMbedDyads:
pszDescr = "UCSC BED dyads";
break;
case eFMcsvDyads:
pszDescr = "CSV dyads";
break;
case eFMbedGraphNucs:
pszDescr = "UCSC bedGraph nucleosomes";
break;
case eFMbedNucs:
pszDescr = "UCSC BED nucleosomes";
break;
case eFMcsvNucs:
pszDescr = "CSV nucleosomes";
break;
case eFMMcsvScores:
pszDescr = "CSV dyad scores along genome";
break;
}
gDiagnostics.DiagOutMsgOnly(eDLInfo,"output format is : '%s'",pszDescr);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"moving average filter width : %d",MovAvgFilter);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"baseline noramlisation width : %d",BaselineFilter);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"dyad name: '%s'",szTrackTitle);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"dyad minor groove threshold: %1.4f",Dyadratio);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"dyad immediately flanking minor groove threshold: %1.4f",Dyad2ratio);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"dyad remainder flanking minor groove threshold: %1.4f",Dyad3ratio);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"input genome file: '%s'",szInGenomeFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"input conformation file: '%s'",szInConfFile);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"output predicted nucleosomes file: '%s'",szRsltsFile);
if(szInclRegionFile[0] != '0')
{
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Offset region start loci by : %d",OfsLoci);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Delta region length by : %d",DeltaLen);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"Truncate region length: %d",TruncLength);
gDiagnostics.DiagOutMsgOnly(eDLInfo,"include regions file: '%s'",szInclRegionFile);
}
#ifdef _WIN32
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS);
#endif
gStopWatch.Start();
Rslt = Process(PMode,FMode,MovAvgFilter,BaselineFilter,szTrackTitle,Dyadratio,Dyad2ratio,Dyad3ratio,szInGenomeFile,szInConfFile,szRsltsFile,
szInclRegionFile,OfsLoci,DeltaLen,TruncLength);
gStopWatch.Stop();
Rslt = Rslt >=0 ? 0 : 1;
gDiagnostics.DiagOut(eDLInfo,gszProcName,"Exit code: %d Total processing time: %s",Rslt,gStopWatch.Read());
exit(Rslt);
}
else
{
arg_print_errors(stdout,end,gszProcName);
arg_print_syntax(stdout,argtable,"\nend of help\n");
exit(1);
}
return 0;
}