From: westcott Date: Wed, 18 Feb 2009 15:34:00 +0000 (+0000) Subject: fixed bug in fastmap readFastaFile so that if there is a blank line inbetween the... X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=commitdiff_plain;h=46379d9bce0f4ba9433689d4828ef5a4aa78dfb5 fixed bug in fastmap readFastaFile so that if there is a blank line inbetween the sequences it still runs. --- diff --git a/fastamap.cpp b/fastamap.cpp index 1406523..1fefdd1 100644 --- a/fastamap.cpp +++ b/fastamap.cpp @@ -20,22 +20,24 @@ void FastaMap::readFastaFile(ifstream& in) { //read through file while (getline(in, line)) { - if (isalnum(line.at(0))){ //if it's a sequence line - sequence += line; - } - else{ + if (line != "") { + if (isalnum(line.at(0))) { //if it's a sequence line + sequence += line; + } + else{ //input sequence info into map - it = data.find(sequence); - if (it == data.end()) { //it's unique. - data[sequence].groupname = name; //group name will be the name of the first duplicate sequence found. - data[sequence].groupnumber = 1; - data[sequence].names = name; - }else { // its a duplicate. - data[sequence].names += "," + name; - data[sequence].groupnumber++; + it = data.find(sequence); + if (it == data.end()) { //it's unique. + data[sequence].groupname = name; //group name will be the name of the first duplicate sequence found. + data[sequence].groupnumber = 1; + data[sequence].names = name; + }else { // its a duplicate. + data[sequence].names += "," + name; + data[sequence].groupnumber++; + } + name = (line.substr(1, (line.npos))); //The line you just read is a new name so rip off '>' + sequence = ""; } - name = (line.substr(1, (line.npos))); //The line you just read is a new name so rip off '>' - sequence = ""; } }