X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=aligncommand.cpp;h=8a229e3cade2cff57569e16b0e4b682d8dd0be65;hb=df41d90a9611eab75d0516e2654ed8580f8df24c;hp=b4af28a2990a44d69527d4c5cb7e5984d8b73033;hpb=8bc3e5b38c2317a1715f53be22fa96455868c281;p=mothur.git diff --git a/aligncommand.cpp b/aligncommand.cpp index b4af28a..8a229e3 100644 --- a/aligncommand.cpp +++ b/aligncommand.cpp @@ -153,15 +153,17 @@ AlignCommand::AlignCommand(string option) { int ableToOpen; ifstream in; - ableToOpen = m->openInputFile(candidateFileNames[i], in, "noerror"); - + in.close(); + //if you can't open it, try default location if (ableToOpen == 1) { if (m->getDefaultPath() != "") { //default path is set string tryPath = m->getDefaultPath() + m->getSimpleName(candidateFileNames[i]); m->mothurOut("Unable to open " + candidateFileNames[i] + ". Trying default " + tryPath); m->mothurOutEndLine(); - ableToOpen = m->openInputFile(tryPath, in, "noerror"); + ifstream in2; + ableToOpen = m->openInputFile(tryPath, in2, "noerror"); + in2.close(); candidateFileNames[i] = tryPath; } } @@ -171,12 +173,14 @@ AlignCommand::AlignCommand(string option) { if (m->getOutputDir() != "") { //default path is set string tryPath = m->getOutputDir() + m->getSimpleName(candidateFileNames[i]); m->mothurOut("Unable to open " + candidateFileNames[i] + ". Trying output directory " + tryPath); m->mothurOutEndLine(); - ableToOpen = m->openInputFile(tryPath, in, "noerror"); + ifstream in2; + ableToOpen = m->openInputFile(tryPath, in2, "noerror"); + in2.close(); candidateFileNames[i] = tryPath; } } - in.close(); + if (ableToOpen == 1) { m->mothurOut("Unable to open " + candidateFileNames[i] + ". It will be disregarded."); m->mothurOutEndLine(); @@ -562,10 +566,11 @@ int AlignCommand::driver(linePair* filePos, string alignFName, string reportFNam Sequence temp = templateDB->findClosestSequence(candidateSeq); Sequence* templateSeq = &temp; - + float searchScore = templateDB->getSearchScore(); Nast* nast = new Nast(alignment, candidateSeq, templateSeq); + Sequence* copy; Nast* nast2; @@ -580,6 +585,7 @@ int AlignCommand::driver(linePair* filePos, string alignFName, string reportFNam string wasBetter = ""; //if the user wants you to try the reverse if (flip) { + //get reverse compliment copy = new Sequence(candidateSeq->getName(), originalUnaligned); copy->reverseComplement(); @@ -748,6 +754,7 @@ int AlignCommand::driverMPI(int start, int num, MPI_File& inMPI, MPI_File& align delete nast; nast = nast2; needToDeleteCopy = true; + wasBetter = "\treverse complement produced a better alignment, so mothur used the reverse complement."; }else{ wasBetter = "\treverse complement did NOT produce a better alignment, please check sequence."; delete nast2;