本文整理汇总了C++中Progress::finish方法的典型用法代码示例。如果您正苦于以下问题:C++ Progress::finish方法的具体用法?C++ Progress::finish怎么用?C++ Progress::finish使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Progress
的用法示例。
在下文中一共展示了Progress::finish方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sorting_count
//.........这里部分代码省略.........
{
idx=0; // start a new read
//skips NN
while (*pt_begin =='N' && pt_begin < (rseq+ readlen))
{
pt_begin ++;
}
// goes to next N or end of seq
while ( (pt_begin[idx] !='N') && ((pt_begin +idx) < (rseq+ readlen)) )
{
idx++;
}
//we have a seq beginning at pt_begin of size idx ,without any N, will be treated as a read:
binread->write_read(pt_begin,idx);
revcomp_sequence(pt_begin,idx); // reverse complement the string
binread->write_read(pt_begin,idx); // write reverse complement string
revcomp_sequence(pt_begin,idx); // restore the string
pt_begin += idx;
}
// binread->write_read(rseq,readlen);
NbRead++;
if ((NbRead%10000)==0)
{
progress_conversion.inc(10000);
}
}
//printf("Number of reads converted to binary %d \n",NbRead);
progress_conversion.finish();
binread->close();
}
///fin conversion
if (clear_cache)
{
#ifdef OSX
system("purge");
#else
system("echo 3 > /proc/sys/vm/drop_caches");
#endif
}
#if SINGLE_BAR
Progress progress;
char message[1000];
sprintf(message,"Counting kmers");
progress.timer_mode=1;
if (verbose == 0 )
progress.init(total_IO,message);
#endif
//use_compressed_reads=false; // for testing compute_kmer_from_one_seq
// how many times we will traverse the whole reads file (has an influence on temp disk space)
uint64_t iter_partition=0;
for (uint32_t current_pass = 0; current_pass < nb_passes; current_pass ++)
{
// stop computing if all partitions are done Added by Raunaq
if (iter_partition==temp_partition)
示例2: read
//.........这里部分代码省略.........
string outfile = m->getRootName(squareFile) + "sorted.dist.temp";
//use the unix sort
#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
string command = "sort -n " + squareFile + " -o " + outfile;
system(command.c_str());
#else //sort using windows sort
string command = "sort " + squareFile + " /O " + outfile;
system(command.c_str());
#endif
if (m->control_pressed) { m->mothurRemove(tempOutFile); m->mothurRemove(outfile); delete reading; return 0; }
//output to new file distance for each row and save positions in file where new row begins
ifstream in;
m->openInputFile(outfile, in);
distFile = outfile + ".rowFormatted";
m->openOutputFile(distFile, out);
rowPos.resize(nseqs, -1);
int currentRow;
int first, second;
float dist;
map<int, float> rowMap;
map<int, float>::iterator itRow;
//get first currentRow
in >> first;
currentRow = first;
string firstString = toString(first);
for(int k = 0; k < firstString.length(); k++) { in.putback(firstString[k]); }
while(!in.eof()) {
if (m->control_pressed) { in.close(); out.close(); m->mothurRemove(distFile); m->mothurRemove(tempOutFile); m->mothurRemove(outfile); delete reading; return 0; }
in >> first >> second >> dist; m->gobble(in);
if (first != currentRow) {
//save position in file of each new row
rowPos[currentRow] = out.tellp();
out << currentRow << '\t' << rowMap.size() << '\t';
for (itRow = rowMap.begin(); itRow != rowMap.end(); itRow++) {
out << itRow->first << '\t' << itRow->second << '\t';
}
out << endl;
currentRow = first;
rowMap.clear();
//save row you just read
if (dist < cutoff) {
rowMap[second] = dist;
}
}else{
if (dist < cutoff) {
rowMap[second] = dist;
}
}
}
//print last Row
//save position in file of each new row
rowPos[currentRow] = out.tellp();
out << currentRow << '\t' << rowMap.size() << '\t';
for (itRow = rowMap.begin(); itRow != rowMap.end(); itRow++) {
out << itRow->first << '\t' << itRow->second << '\t';
}
out << endl;
in.close();
out.close();
if (m->control_pressed) { m->mothurRemove(distFile); m->mothurRemove(tempOutFile); m->mothurRemove(outfile); delete reading; return 0; }
m->mothurRemove(tempOutFile);
m->mothurRemove(outfile);
reading->finish();
delete reading;
list->setLabel("0");
if (m->control_pressed) { m->mothurRemove(distFile); return 0; }
return 1;
}
catch(exception& e) {
m->errorOut(e, "FormatColumnMatrix", "read");
exit(1);
}
}
示例3: execute
//.........这里部分代码省略.........
randT = new Tree(ct);
//create random relationships between nodes
randT->assembleRandomTree();
if (m->control_pressed) {
delete reading; delete output; delete randT; delete ct;
for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } outputTypes.clear(); return 0;
}
//get pscore of random tree
randomData = pars.getValues(randT, processors, outputDir);
if (m->control_pressed) {
delete reading; delete output; delete randT; delete ct;
for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } outputTypes.clear(); return 0;
}
for(int r = 0; r < numComp; r++) {
//add trees pscore to map of scores
map<int,double>::iterator it = rscoreFreq[r].find(randomData[r]);
if (it != rscoreFreq[r].end()) {//already have that score
rscoreFreq[r][randomData[r]]++;
}else{//first time we have seen this score
rscoreFreq[r][randomData[r]] = 1;
}
//add randoms score to validscores
validScores[randomData[r]] = randomData[r];
}
//update progress bar
reading->update(j);
delete randT;
}
}
for(int a = 0; a < numComp; a++) {
float rcumul = 0.0000;
float ucumul = 0.0000;
//this loop fills the cumulative maps and put 0.0000 in the score freq map to make it easier to print.
for (map<int,double>::iterator it = validScores.begin(); it != validScores.end(); it++) {
if (randomtree == "") {
map<int,double>::iterator it2 = uscoreFreq[a].find(it->first);
//user data has that score
if (it2 != uscoreFreq[a].end()) { uscoreFreq[a][it->first] /= T.size(); ucumul+= it2->second; }
else { uscoreFreq[a][it->first] = 0.0000; } //no user trees with that score
//make uCumul map
uCumul[a][it->first] = ucumul;
}
//make rscoreFreq map and rCumul
map<int,double>::iterator it2 = rscoreFreq[a].find(it->first);
//get percentage of random trees with that info
if (it2 != rscoreFreq[a].end()) { rscoreFreq[a][it->first] /= iters; rcumul+= it2->second; }
else { rscoreFreq[a][it->first] = 0.0000; } //no random trees with that score
rCumul[a][it->first] = rcumul;
}
//find the signifigance of each user trees score when compared to the random trees and save for printing the summary file
for (int h = 0; h < userTreeScores[a].size(); h++) {
UScoreSig[a].push_back(rCumul[a][userTreeScores[a][h]]);
}
}
if (m->control_pressed) {
delete reading; delete output;
delete ct; for (int i = 0; i < T.size(); i++) { delete T[i]; }
if (randomtree == "") { outSum.close(); }
for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } outputTypes.clear();
return 0;
}
//finish progress bar
reading->finish();
delete reading;
printParsimonyFile();
if (randomtree == "") { printUSummaryFile(); }
delete output; delete ct; for (int i = 0; i < T.size(); i++) { delete T[i]; }
if (m->control_pressed) { for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } outputTypes.clear(); return 0;}
m->mothurOutEndLine();
m->mothurOut("Output File Names: "); m->mothurOutEndLine();
for (int i = 0; i < outputNames.size(); i++) { m->mothurOut(outputNames[i]); m->mothurOutEndLine(); }
m->mothurOutEndLine();
return 0;
}
catch(exception& e) {
m->errorOut(e, "ParsimonyCommand", "execute");
exit(1);
}
}