Skip to contents

Virtual base class for pecotmr's per-element collections. Each element is a GRanges of variants; the identity tuple and any other per-element metadata live in mcols(x).

Concrete subclasses add their own collection-level slots. Per-element values must go in mcols, never in a slot: subsetting narrows the elements and mcols together, but leaves slots untouched, so a per-element slot silently ends up the wrong length and positionally wrong.

Invariant

One seqname and one strand per element. range() splits on both, so a mixed element would return two ranges and break the 1:1 element-to-span mapping the rest of the package relies on. Variants carry strand * unless the source data says otherwise.