40 #ifndef _MULTILOCUSGENOTYPE_H_
41 #define _MULTILOCUSGENOTYPE_H_
68 std::vector<MonolocusGenotype*>
loci_;
103 const std::vector<size_t>& allele_keys);
112 const std::vector<std::string>& allele_id,
The MonolocusGenotype virtual class.
The MultilocusGenotype class.
void setMonolocusGenotypeAsMissing(size_t locus_position)
Set a MonolocusGenotype as missing data.
void setMonolocusGenotype(size_t locus_position, const MonolocusGenotype &monogen)
Set a MonolocusGenotype.
~MultilocusGenotype()
Destroy a MultilocusGenotype.
void setMonolocusGenotypeByAlleleKey(size_t locus_position, const std::vector< size_t > &allele_keys)
Set a MonolocusGenotype by allele keys.
MultilocusGenotype(size_t loci_number)
Build a MultilocusGenotype linked to an AnalyzedLoci object.
const MonolocusGenotype & getMonolocusGenotype(size_t locus_position) const
Get a MonolocusGenotype.
size_t countHeterozygousLoci() const
Count the number of heterozygous MonolocusGenotype.
std::vector< MonolocusGenotype * > loci_
size_t countHomozygousLoci() const
Count the number of homozygous MonolocusGenotype.
bool isMonolocusGenotypeMissing(size_t locus_position) const
Tell if a MonolocusGenotype is a missing data.
size_t countNonMissingLoci() const
Count the number of non missing MonolocusGenotype.
size_t size() const
Count the number of loci.
void setMonolocusGenotypeByAlleleId(size_t locus_position, const std::vector< std::string > &allele_id, const LocusInfo &locus_info)
Set a MonolocusGenotype by allele id.