58 #include "../GeneralExceptions.h"
82 Group(
size_t group_id);
316 size_t sequence_position,
327 size_t individual_position,
328 const std::string& sequence_name)
const;
338 size_t individual_position,
339 size_t sequence_position)
const;
382 size_t individual_position,
383 const std::string& sequence_name)
const;
449 const std::vector<size_t>& allele_keys);
460 const std::vector<std::string>& allele_id,
const LocusInfo& locus_info);
470 size_t locus_position)
const;
void deleteIndividualById(const std::string &individual_id)
Delete an Individual from the Group.
void setIndividualSequences(size_t individual_position, const MapSequenceContainer &msc)
Set all the sequences by copying an OrderedSequenceContainer.
bool hasIndividualGenotype(size_t individual_position) const
Tell if an Individual has a genotype.
const Alphabet * getAlphabet() const
Get the alphabet used for the sequences.
size_t getNumberOfIndividuals() const
Get the number of Individual in the Group.
std::unique_ptr< Individual > removeIndividualAtPosition(size_t individual_position)
Remove an Individual from the Group.
Group & operator=(const Group &group)
The assignation operator =.
void deleteIndividualSequenceAtPosition(size_t individual_position, size_t sequence_position)
Delete a sequence of an Individual.
void addEmptyIndividual(const std::string &individual_id)
Add an empty Individual to the Group.
void setGroupId(size_t group_id)
Set the id of the Group.
const Date & getIndividualDateAtPosition(size_t individual_position) const
Get the date of an Individual.
size_t getGroupId() const
Get the id of the Group.
bool hasIndividualSequences(size_t individual_position) const
Tell if the Individual has some sequences.
void deleteIndividualSequenceByName(size_t individual_position, const std::string &sequence_name)
Delete a sequence of an Individual.
void addIndividual(const Individual &ind)
Add an Individual.
void setIndividualGenotype(size_t individual_position, const MultilocusGenotype &genotype)
Set the genotype of an Individual.
void setIndividualDateAtPosition(size_t individual_position, const Date &date)
Set the date of an Individual.
void setGroupName(const std::string &group_name)
Set the name of the Group.
unsigned short getIndividualSexAtPosition(size_t individual_position) const
Get the sex of an Individual.
std::vector< Individual * > individuals_
bool hasSequenceData() const
Tell if at least one individual has at least one sequence.
void setIndividualLocalityAtPosition(size_t individual_position, const Locality< double > *locality)
Set the locality of an Individual.
void setIndividualCoordAtPosition(size_t individual_position, const Point2D< double > &coord)
Set the coordinates of an Individual.
const Sequence & getIndividualSequenceByName(size_t individual_position, const std::string &sequence_name) const
Get a sequence of an Individual.
void setIndividualMonolocusGenotypeByAlleleId(size_t individual_position, size_t locus_position, const std::vector< std::string > &allele_id, const LocusInfo &locus_info)
Set a MonolocusGenotype of an Individual.
void setIndividualMonolocusGenotypeByAlleleKey(size_t individual_position, size_t locus_position, const std::vector< size_t > &allele_keys)
Set a MonolocusGenotype of an Individual.
std::vector< std::string > getIndividualSequencesNames(size_t individual_position) const
Get the sequences' names from an Individual.
size_t getMaxNumberOfSequences() const
Get the maximum number of sequence.
const Locality< double > & getIndividualLocalityAtPosition(size_t individual_position) const
Get the locality of an Individual.
const Individual & getIndividualAtPosition(size_t individual_position) const
Get a reference to an Individual by its position.
void initIndividualGenotype(size_t individual_position, size_t loci_number)
Initialyze the genotype of an Individual.
void clear()
Clear the Group.
size_t getIndividualNumberOfSequences(size_t individual_position) const
Get the number of sequences in an Individual.
size_t getGroupSizeForLocus(size_t locus_position) const
Get the number of individual that have a data at the specified locus.
const Individual & getIndividualById(const std::string &individual_id) const
Get a reference to an Individual.
const Sequence & getIndividualSequenceAtPosition(size_t individual_position, size_t sequence_position) const
Get a sequence of an Individual.
std::unique_ptr< Individual > removeIndividualById(const std::string &individual_id)
Remove an Individual from the Group.
void deleteIndividualAtPosition(size_t individual_position)
Delete an Individual from the Group.
void setIndividualMonolocusGenotype(size_t individual_position, size_t locus_position, const MonolocusGenotype &monogen)
Set a MonolocusGenotype of an Individual.
void addIndividualSequenceAtPosition(size_t individual_position, size_t sequence_position, const Sequence &sequence)
Add a sequence to an Individual.
size_t getIndividualSequencePosition(size_t individual_position, const std::string &sequence_name) const
Get the position of a sequence in an Individual.
size_t getGroupSizeForSequence(size_t sequence_position) const
Get the number of individual that have a sequence at the specified position.
void deleteIndividualGenotype(size_t individual_position)
Delete the genotype of an Individual.
const Point2D< double > & getIndividualCoordAtPosition(size_t individual_position) const
Get the coordinates of an Individual.
size_t getIndividualPosition(const std::string &individual_id) const
Get the position of an Individual.
void setIndividualSexAtPosition(size_t individual_position, const unsigned short sex)
Set the sex of an Individual.
const std::string & getGroupName() const
Get the name of the Group.
Group(size_t group_id)
Build a void new Group.
~Group()
Destroy an Group.
const MonolocusGenotype & getIndividualMonolocusGenotype(size_t individual_position, size_t locus_position) const
Get a MonolocusGenotype of an Individual.
The MonolocusGenotype virtual class.
The MultilocusGenotype class.