BioCantor paradigm
The basis of the BioCantor paradigm is that objects are linked by flexible parent/child relationships; flexible operations can be performed by jumping around the resulting hierarchy. In most cases, parent/child relationships are used to establish the parent as the frame of reference for the location of the child, though parent/child relationships are not required to define a coordinate system.
Three main object types populate this paradigm. Location
objects represent blocked features (which can
represent, say, a multi-exon transcript). Sequence
objects hold sequence data. Parent
objects define
parent/child relationships. The Parent
class is very flexible in order to accommodate different types of
relationships. For example, a Parent
object can optionally hold a pointer to a Sequence
, meaning that
sequence is the frame of reference for an object with that Parent
. A Parent
object can optionally
hold a Location
, meaning that is the location of the child relative to that parent. Parent
has
several optional parameters which enable different types of relationships and operations. See “Instantiating BioCantor
objects” for concrete examples.
Objects hold pointers to their own (optional) parent. Parent
objects do not hold pointers to children and can
be reused for multiple children. Location
objects, Sequence
objects, and Parent
objects can
all have parents. Multi-level hierarchies are established when Parent
objects have their own parents.
See the remaining documentation for detailed explanations of how to instantiate and use these classes.