decalc = new DeCalculator();
}
//***************************************************************************************************************
-void ChimeraSlayer::doPrep() {
+int ChimeraSlayer::doPrep() {
try {
string kmerDBNameLeft;
if(!kmerFileTestLeft){
for (int i = 0; i < templateSeqs.size(); i++) {
+
+ if (m->control_pressed) { return 0; }
+
string leftFrag = templateSeqs[i]->getUnaligned();
leftFrag = leftFrag.substr(0, int(leftFrag.length() * 0.33));
if(!kmerFileTestRight){
for (int i = 0; i < templateSeqs.size(); i++) {
+ if (m->control_pressed) { return 0; }
+
string rightFrag = templateSeqs[i]->getUnaligned();
rightFrag = rightFrag.substr(int(rightFrag.length() * 0.66));
vector<Sequence*> tempQuerySeqs;
while(!in.eof()){
+ if (m->control_pressed) { for (int i = 0; i < tempQuerySeqs.size(); i++) { delete tempQuerySeqs[i]; } return 0; }
+
Sequence* s = new Sequence(in);
gobble(in);
for (int i = 0; i < tempQuerySeqs.size(); i++) { delete tempQuerySeqs[i]; }
+ if (m->control_pressed) { return 0; }
+
+
//run filter on template
- for (int i = 0; i < templateSeqs.size(); i++) { runFilter(templateSeqs[i]); }
+ for (int i = 0; i < templateSeqs.size(); i++) { if (m->control_pressed) { return 0; } runFilter(templateSeqs[i]); }
m->mothurOutEndLine(); m->mothurOut("It took " + toString(time(NULL) - start) + " secs to filter."); m->mothurOutEndLine();
+
+ return 0;
}
catch(exception& e) {
out << "Name\tLeftParent\tRightParent\tDivQLAQRB\tPerIDQLAQRB\tBootStrapA\tDivQLBQRA\tPerIDQLBQRA\tBootStrapB\tFlag\tLeftWindow\tRightWindow\n";
}
//***************************************************************************************************************
-void ChimeraSlayer::print(ostream& out, ostream& outAcc) {
+int ChimeraSlayer::print(ostream& out, ostream& outAcc) {
try {
if (chimeraFlags == "yes") {
string chimeraFlag = "no";
out << endl;
}else { out << querySeq->getName() << "\tno" << endl; }
+ return 0;
+
}
catch(exception& e) {
m->errorOut(e, "ChimeraSlayer", "print");
maligner = new Maligner(templateSeqs, numWanted, match, misMatch, divR, minSim, minCov, searchMethod, databaseLeft, databaseRight);
slayer = new Slayer(window, increment, minSim, divR, iters, minSNP);
+ if (m->control_pressed) { return 0; }
+
string chimeraFlag = maligner->getResults(query, decalc);
+ if (m->control_pressed) { return 0; }
vector<results> Results = maligner->getOutput();
//found in testing realigning only made things worse
spotMap = decalc->getMaskMap();
}
+ if (m->control_pressed) { for (int k = 0; k < seqs.size(); k++) { delete seqs[k].seq; } return 0; }
+
//send to slayer
chimeraFlags = slayer->getResults(query, seqsForSlayer);
+ if (m->control_pressed) { return 0; }
chimeraResults = slayer->getOutput();
//free memory