53 throw IOException(
"Genetix::read: fail to open stream.");
57 stringstream(temp) >> loc_nbr;
63 stringstream(temp) >> grp_nbr;
66 for (
unsigned int i = 0; i < loc_nbr; i++)
76 for (
unsigned int j = 0; j < nbr_al; j++)
87 for (
unsigned int i = 0; i < grp_nbr; i++)
97 stringstream tmp(temp);
99 for (
unsigned int j = 0; j < ind_nbr; j++)
102 string ind_name(temp.begin(), temp.begin() + 11);
103 temp = string(temp.begin() + 11, temp.end());
108 for (
unsigned int k = 0; k < loc_nbr; k++)
111 vector<string> tmp_alleles;
112 tmp_alleles.push_back(
string(tmp_string.begin(), tmp_string.begin() + 3));
113 tmp_alleles.push_back(
string(tmp_string.begin() + 3, tmp_string.begin() + 6));
114 if (tmp_alleles[0] !=
string(
"000") && tmp_alleles[1] !=
string(
"000"))
virtual void read(std::istream &is, DataSet &data_set)=0
Read a DataSet on istream.
The BasicAlleleInfo class.
void initIndividualGenotypeInGroup(size_t group_position, size_t individual_position)
Initialyze the genotype of an Individual in a Group.
void initAnalyzedLoci(size_t number_of_loci)
Initialize the AnalyzedLoci for number of loci.
void setGroupName(size_t group_id, const std::string &group_name) const
set the name of a Group.
void setIndividualMonolocusGenotypeByAlleleIdInGroup(size_t group_position, size_t individual_position, size_t locus_position, const std::vector< std::string > allele_id)
Set a MonolocusGenotype of an Individual from a group.
void setLocusInfo(size_t locus_position, const LocusInfo &locus)
Set a LocusInfo.
void addEmptyIndividualToGroup(size_t group_position, const std::string &individual_id)
Add an empty Individual to a Group.
void addEmptyGroup(size_t group_id)
Add an empty Group to the DataSet.
void read(std::istream &is, DataSet &data_set)
Read a DataSet on istream.
void addAlleleInfo(const AlleleInfo &allele)
Add an AlleleInfo to the LocusInfo.
const std::string & nextToken()
std::string removeSurroundingWhiteSpaces(const std::string &s)
std::string toString(T t)