8 * Created by Sarah Westcott on 1/16/09.
9 * Copyright 2009 Schloss Lab UMASS AMherst. All rights reserved.
16 #include "utilities.hpp"
19 /* This class represents the fasta file. It reads a fasta file a populates the internal data structure "data".
20 Data is a map where the key is the sequence and the value is a struct containing the sequences groupname,
21 a list of the sequences names who have the same sequence and a number of how many sequence names there are. */
30 string getGroupName(string); //pass a sequence name get its group
31 int getGroupNumber(string); //pass a sequence name get number of sequence in its group
32 string getNames(string); //pass a sequence get the string of names in the group separated by ','s.
33 void push_back(string, string); //sequencename, groupname
34 void set(string, string, string); //sequencename, groupname, groupnumber, names.
36 int size(); //returns number of unique sequences
37 void print(ostream&); //produces a 2 column file with the groupname in the first column and the names in the second column.
38 void printCondensedFasta(ostream&); //produces a fasta file.
39 void readFastaFile(ifstream&);
43 string groupname; //the group name for identical sequences, will be set to the first sequence found.
44 int groupnumber; //the number of sequence names with the same sequence.
45 string names; //the names of the sequence separated by ','.
48 map<string, group> data; //sequence, groupinfo
49 map<string, group>::iterator it;