- while (getline(in, 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++;
- }
- name = (line.substr(1, (line.npos))); //The line you just read is a new name so rip off '>'
- sequence = "";
- }
+// while ((c = in.get()) != EOF) {
+// name = ""; sequence = "";
+// //is this a name
+// if (c == '>') {
+// name = readName(in);
+// sequence = readSequence(in);
+// }else { cout << "Error fasta in your file. Please correct." << endl; }
+
+ //store info in map
+ //input sequence info into map
+ while(!in.eof()){
+ Sequence currSeq(in);
+ name = currSeq.getName();
+ sequence = currSeq.getUnaligned();
+ seqmap[name] = sequence;
+ 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++;
+ }
+
+ gobble(in);