X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=aligncommand.cpp;h=96e1a7899c4fec8d769c46aede121bb8de240c07;hb=c82900be3ceed3d9bc491bdc98b1819ef85c1af7;hp=55f0b821b1392f40b1f6ecd2c9414a6f8a04fff2;hpb=648ec37228eb16075ace911dd5a5773cdfe683da;p=mothur.git diff --git a/aligncommand.cpp b/aligncommand.cpp index 55f0b82..96e1a78 100644 --- a/aligncommand.cpp +++ b/aligncommand.cpp @@ -209,22 +209,23 @@ int AlignCommand::execute(){ while(!inFASTA.eof()){ input = getline(inFASTA); if (input.length() != 0) { - if(input[0] == '>'){ int pos = inFASTA.tellg(); positions.push_back(pos - input.length() - 1); } + if(input[0] == '>'){ long int pos = inFASTA.tellg(); positions.push_back(pos - input.length() - 1); } } } inFASTA.close(); numFastaSeqs = positions.size(); - + int numSeqsPerProcessor = numFastaSeqs / processors; for (int i = 0; i < processors; i++) { - int startPos = positions[ i * numSeqsPerProcessor ]; + long int startPos = positions[ i * numSeqsPerProcessor ]; if(i == processors - 1){ numSeqsPerProcessor = numFastaSeqs - i * numSeqsPerProcessor; } lines.push_back(new linePair(startPos, numSeqsPerProcessor)); } + createProcesses(alignFileName, reportFileName, accnosFileName); rename((alignFileName + toString(processIDS[0]) + ".temp").c_str(), alignFileName.c_str()); @@ -318,11 +319,11 @@ int AlignCommand::driver(linePair* line, string alignFName, string reportFName, for(int i=0;inumSeqs;i++){ - Sequence* candidateSeq = new Sequence(inFASTA); + Sequence* candidateSeq = new Sequence(inFASTA); gobble(inFASTA); int origNumBases = candidateSeq->getNumBases(); string originalUnaligned = candidateSeq->getUnaligned(); int numBasesNeeded = origNumBases * threshold; - + if (candidateSeq->getName() != "") { //incase there is a commented sequence at the end of a file if (candidateSeq->getUnaligned().length() > alignment->getnRows()) { alignment->resize(candidateSeq->getUnaligned().length()+1);