You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the Clade object does double-duty, serving as both a clade and a constraint. We should separate these two roles. Many of the problems that caused #286 come from treating all constraints as if they were a clade, when they actually are not.
Currently a Clade object can be a normal clade, or it can be a negative constraint (NOT X), or it can be an "optional" constraint (A OR B OR C). We should separate Clades from Constraints by making new classes for constraints:
CladeConstraint(Clade)
NegativeConstraint(Constraint)
OrConstraint(vector)
We should also separate Clades and Constraints at the Rev language level, instead of using just the function clade( ) to construct all of them.
A lot of things that make sense for clades don't make sense for Constraints. For example, the taxon set for a NegativeConstraint doesn't really make sense.
Also, clades are normally considered to be the rooted form of a bi-partition, separating the include group (the clade taxa) from the exclude group (the other taxa) and the root. A clade should perhaps specify both the include group and the exclude group.
See some of the problems mentioned in #215 as well.
The text was updated successfully, but these errors were encountered:
Currently the Clade object does double-duty, serving as both a clade and a constraint. We should separate these two roles. Many of the problems that caused #286 come from treating all constraints as if they were a clade, when they actually are not.
Currently a Clade object can be a normal clade, or it can be a negative constraint (NOT X), or it can be an "optional" constraint (A OR B OR C). We should separate Clades from Constraints by making new classes for constraints:
We should also separate Clades and Constraints at the Rev language level, instead of using just the function
clade( )
to construct all of them.A lot of things that make sense for clades don't make sense for Constraints. For example, the taxon set for a NegativeConstraint doesn't really make sense.
Also, clades are normally considered to be the rooted form of a bi-partition, separating the include group (the clade taxa) from the exclude group (the other taxa) and the root. A clade should perhaps specify both the include group and the exclude group.
See some of the problems mentioned in #215 as well.
The text was updated successfully, but these errors were encountered: