41 #ifndef _POLYMORPHISMSEQUENCECONTAINER_H_
42 #define _POLYMORPHISMSEQUENCECONTAINER_H_
249 size_t getGroupId(
const std::string& name)
const;
261 void setGroupId(
size_t index,
size_t group_id);
268 void setGroupId(
const std::string& name,
size_t group_id);
The PolymorphismSequenceContainer class.
void clear()
Clear the container of all its sequences.
std::vector< unsigned int > count_
void setAsIngroupMember(size_t index)
Set a sequence as ingroup member by index.
void setAsOutgroupMember(size_t index)
Set a sequence as outgroup member by index.
virtual ~PolymorphismSequenceContainer()
Destroy a PolymorphismSequenceContainer.
bool isIngroupMember(size_t index) const
Tell if the sequence is ingroup by index.
void addSequence(const Sequence &sequence, size_t sequenceIndex, bool checkName=true)
PolymorphismSequenceContainer * clone() const
Clone a PolymorphismSequenceContainer.
unsigned int getSequenceCount(size_t index) const
Get the count of a sequence by index.
void addSequence(const Sequence &sequence, bool checkName=true)
SiteContainer * toSiteContainer() const
convert the container to a site container, with sequences dulicated according to their respective fre...
void addSequenceWithFrequency(const Sequence &sequence, unsigned int frequency, bool checkName=true)
Add a sequence to the container.
PolymorphismSequenceContainer & operator=(const PolymorphismSequenceContainer &psc)
Operator= : copy operator.
void incrementSequenceCount(size_t index)
Add 1 to the sequence count.
void decrementSequenceCount(size_t index)
Removz 1 to the sequence count.
std::set< size_t > getAllGroupsIds() const
Get all the groups identifiers.
void setSequenceCount(size_t index, unsigned int count)
Set the count of a sequence by index.
size_t getNumberOfGroups() const
Get the number of groups.
PolymorphismSequenceContainer(const Alphabet *alpha)
Build a new empty PolymorphismSequenceContainer.
void deleteSequence(size_t index)
Delete a sequence by index.
Sequence * removeSequence(size_t index)
Remove a sequence by index and return a pointer to this removed sequence.
void setGroupId(size_t index, size_t group_id)
Set the group identifier of a sequence.
std::vector< size_t > group_
size_t getGroupId(size_t index) const
Get the group identifier of the sequence.
std::vector< bool > ingroup_