A map from loci to instances of an arbitrary type where the loci are all on the same contig.
We serialize a Contig as its name, the number of ranges, and the ranges themselves (two longs and a value each).
An immutable map from loci to a instances of an arbitrary type T.
An immutable map from loci to a instances of an arbitrary type T.
Since contiguous genomic intervals are a common case, this is implemented with sets of (start, end) intervals.
All intervals are half open: inclusive on start, exclusive on end.
Map from contig names to Contig instances giving the regions and values on that contig.
We serialize a LociMap simply by writing out all of its Contigs.
A map from loci to instances of an arbitrary type where the loci are all on the same contig.
The contig name
The range map of loci intervals -> values.