if(processors == 1){
ifstream inFASTA;
openInputFile(fastaFileNames[s], inFASTA);
- numFastaSeqs=count(istreambuf_iterator<char>(inFASTA),istreambuf_iterator<char>(), '>');
+ getNumSeqs(inFASTA, numFastaSeqs);
inFASTA.close();
lines.push_back(new linePair(0, numFastaSeqs));
driver(lines[0], newTaxonomyFile, tempTaxonomyFile, fastaFileNames[s]);
}
else{
- vector<int> positions;
+ vector<unsigned long int> positions;
processIDS.resize(0);
ifstream inFASTA;
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] == '>'){ unsigned 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 ];
+ unsigned long int startPos = positions[ i * numSeqsPerProcessor ];
if(i == processors - 1){
numSeqsPerProcessor = numFastaSeqs - i * numSeqsPerProcessor;
}
#else
ifstream inFASTA;
openInputFile(fastaFileNames[s], inFASTA);
- numFastaSeqs=count(istreambuf_iterator<char>(inFASTA),istreambuf_iterator<char>(), '>');
+ getNumSeqs(inFASTA, numFastaSeqs);
inFASTA.close();
lines.push_back(new linePair(0, numFastaSeqs));
for(int i=0;i<line->numSeqs;i++){
if (m->control_pressed) { return 0; }
-
- Sequence* candidateSeq = new Sequence(inFASTA);
-
+
+ Sequence* candidateSeq = new Sequence(inFASTA); gobble(inFASTA);
+
if (candidateSeq->getName() != "") {
taxonomy = classify->getTaxonomy(candidateSeq);