49 #include <Bpp/Exceptions.h> 50 #include <Bpp/Graphics/Point2D.h> 51 #include <Bpp/Utils/MapTools.h> 247 void splitGroup(
size_t group_id, std::vector<size_t> individuals_selection)
throw (Exception);
272 throw (IndexOutOfBoundsException);
289 throw (IndexOutOfBoundsException);
307 throw (IndexOutOfBoundsException);
325 throw (IndexOutOfBoundsException);
334 throw (IndexOutOfBoundsException);
343 throw (IndexOutOfBoundsException);
362 throw (IndexOutOfBoundsException);
403 size_t sequence_position,
const Sequence& sequence)
510 throw (IndexOutOfBoundsException);
575 const Alphabet*
getAlphabet()
const throw (NullPointerException);
694 #endif // _DATASET_H_ size_t getLocalityPosition(const std::string &name) const
Get the position of a locality in the container.
void deleteIndividualSequenceAtPositionInGroup(size_t group_position, size_t individual_position, size_t sequence_position)
Delete a Sequence of an Individual of a Group.
void deleteIndividualAtPositionFromGroup(size_t group_position, size_t individual_position)
Delete an Individual from a group.
The GroupNotFoundException class.
void deleteIndividualByIdFromGroup(size_t group_position, const std::string &individual_id)
Delete an Individual from 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.
The AnalyzedSequences class.
void deleteIndividualGenotypeInGroup(size_t group_position, size_t individual_position)
Delete the MultilocusGenotype of an Individual from a Group.
The LocalityNotFoundException class.
unsigned short getIndividualSexInGroup(size_t group_position, size_t individual_position) const
Get the sex of an Individual in a Group.
const AnalyzedLoci * getAnalyzedLoci() const
Get the AnalyzedLoci if there is one.
const Locality< double > * getIndividualLocalityInGroup(size_t group_position, size_t individual_position) const
Get the Locality of an Individual in a Group.
bool hasLocality() const
Tell if there is at least one locality.
const Locality< double > & getLocalityByName(const std::string &name) const
Get a Locality by name.
const LocusInfo & getLocusInfoByName(const std::string &locus_name) const
Get a LocusInfo by its name.
The BadIdentifierException class.
void addAlleleInfoByLocusPosition(size_t locus_position, const AlleleInfo &allele)
Add an AlleleInfo to a LocusInfo.
void deleteIndividualSequenceByNameInGroup(size_t group_position, size_t individual_position, const std::string &sequence_name)
Delete a Sequence of an Individual of a Group.
const Group & getGroupById(size_t group_id) const
Get a group by identifier.
void deleteAnalyzedLoci()
Delete the AnalyzedLoci.
DataSet & operator=(const DataSet &ds)
The MultilocusGenotype class.
void deleteGroupAtPosition(size_t group_position)
Delete a Group from the DataSet.
void mergeGroups(std::vector< size_t > &group_ids)
Merge some Groups in one.
const Date * getIndividualDateInGroup(size_t group_position, size_t individual_position) const
Get the Date of an Individual in a Group.
std::string getAlphabetType() const
Get the alphabet type as a string.
PolymorphismMultiGContainer * getPolymorphismMultiGContainer() const
Get a PolymorphismMultiGContainer with all allelic data of the DataSet.
void addGroup(const Group &group)
Add a Group to the DataSet.
size_t getPloidyByLocusName(const std::string &locus_name) const
Get the ploidy of a locus.
const Sequence & getIndividualSequenceByNameInGroup(size_t group_position, size_t individual_position, const std::string &sequence_name) const
Get a Sequence from an Individual of a Group.
void mergeTwoGroups(size_t source_id, size_t target_id)
Merge two groups.
void addAlleleInfoByLocusName(const std::string &locus_name, const AlleleInfo &allele)
Add an AlleleInfo to a LocusInfo.
size_t getPloidyByLocusPosition(size_t locus_position) const
Get the ploidy of a locus.
void setIndividualMonolocusGenotypeInGroup(size_t group_position, size_t individual_position, size_t locus_position, const MonolocusGenotype &monogen)
Set a MonolocusGenotype of an Individual from a group.
AnalyzedSequences * analyzedSequences_
size_t getNumberOfLoci() const
Get the number of loci.
void setIndividualSexInGroup(size_t group_position, size_t individual_position, const unsigned short sex)
Set the sex of an Individual in a Group.
void splitGroup(size_t group_id, std::vector< size_t > individuals_selection)
Split a group in two.
size_t getIndividualNumberOfSequencesInGroup(size_t group_position, size_t individual_position) const
Get the number of Sequences in an Individual of a Group.
bool hasAlleleicData() const
Tell if there is alelelic data.
void setIndividualDateInGroup(size_t group_position, size_t individual_position, const Date &date)
Set the Date of an Individual in a Group.
~DataSet()
Destroy a DataSet.
const Group & getGroupAtPosition(size_t group_position) const
Get a group by position.
void setGroupName(size_t group_id, const std::string &group_name) const
set the name of a Group.
const LocusInfo & getLocusInfoAtPosition(size_t locus_position) const
Get a LocusInfo by its position.
size_t getNumberOfLocalities() const
Get the number of Localities.
bool hasSequenceData() const
Tell if at least one individual has at least one sequence.
void setLocusInfo(size_t locus_position, const LocusInfo &locus)
Set a LocusInfo.
void addIndividualToGroup(size_t group_position, const Individual &individual)
Add an Individual to a Group.
size_t getGroupPosition(size_t group_id) const
Get the position of a Group.
The PolymorphismMultiGContainer class.
void setIndividualLocalityInGroupByName(size_t group_position, size_t individual_position, const std::string &locality_name)
Set the Locality of an Individual in a Group.
size_t getIndividualSequencePositionInGroup(size_t group_position, size_t individual_position, const std::string &sequence_name) const
Get the position of a Sequence in an Individual of a Group.
const Alphabet * getAlphabet() const
Get the alphabet if there is sequence data.
void deleteLocalityAtPosition(size_t locality_position)
Delete a Locality from the DataSet.
size_t getIndividualPositionInGroup(size_t group_position, const std::string &individual_id) const
Get the position of an Individual in a Group.
const Individual * getIndividualByIdFromGroup(size_t group_position, const std::string &individual_id) const
Get an Individual from a Group.
const Locality< double > & getLocalityAtPosition(size_t locality_position) const
Get a Locality by locality_position.
std::string getGroupName(size_t group_id) const
Get the name of a Group. If the name is an empty string it just returns the group_id.
void setAlphabet(const Alphabet *alpha)
Set the alphabet of the AnalyzedSequences.
size_t getNumberOfGroups() const
Get the number of Groups.
void setAnalyzedLoci(const AnalyzedLoci &analyzedLoci)
Set the AnalyzedLoci to the DataSet.
const Point2D< double > * getIndividualCoordInGroup(size_t group_position, size_t individual_position) const
Get the coordinate of an Individual in a Group.
std::vector< std::string > getIndividualSequencesNamesInGroup(size_t group_position, size_t individual_position) const
Get the Sequences' names from an Individual of a Group.
const Individual * getIndividualAtPositionFromGroup(size_t group_position, size_t individual_position) const
Get an Individual from a Group.
void addLocality(Locality< double > &locality)
Add a locality to the DataSet.
The MonolocusGenotype virtual class.
void deleteLocalityByName(const std::string &name)
Delete a Locality from the DataSet.
const Sequence & getIndividualSequenceAtPositionInGroup(size_t group_position, size_t individual_position, size_t sequence_position) const
Get a Sequence from an Individual of a Group.
The AlleleInfo interface.
const MonolocusGenotype * getIndividualMonolocusGenotypeInGroup(size_t group_position, size_t individual_position, size_t locus_position) const
Get a MonolocusGenotype from an Individual of a Group.
void addEmptyIndividualToGroup(size_t group_position, const std::string &individual_id)
Add an empty Individual to a Group.
The PolymorphismSequenceContainer class.
std::vector< Group * > groups_
size_t getNumberOfIndividualsInGroup(size_t group_position) const
Get the number of Individuals in a Group.
void initAnalyzedLoci(size_t number_of_loci)
Initialize the AnalyzedLoci for number of loci.
void setIndividualGenotypeInGroup(size_t group_position, size_t individual_position, const MultilocusGenotype &genotype)
Set the MultilocusGenotype of an Individual in a Group.
PolymorphismSequenceContainer * getPolymorphismSequenceContainer(const std::map< size_t, std::vector< size_t > > &selection, size_t sequence_position) const
Get a PolymorphismSequenceContainer from a selection of groups and individuals.
std::vector< Locality< double > * > localities_
void addEmptyGroup(size_t group_id)
Add an empty Group to the DataSet.
AnalyzedLoci * analyzedLoci_
void setIndividualCoordInGroup(size_t group_position, size_t individual_position, const Point2D< double > &coord)
Set the coordinates of an Individual in a Group.
DataSet()
Build a new void DataSet.
void addIndividualSequenceInGroup(size_t group_position, size_t individual_position, size_t sequence_position, const Sequence &sequence)
Add a Sequence to an Individual in a Group.
void initIndividualGenotypeInGroup(size_t group_position, size_t individual_position)
Initialyze the genotype of an Individual in a Group.
void setIndividualMonolocusGenotypeByAlleleKeyInGroup(size_t group_position, size_t individual_position, size_t locus_position, const std::vector< size_t > allele_keys)
Set a MonolocusGenotype of an Individual from a group.