We might need to discuss the position notation again. I wanted to stay as close as possible to the format, but this becomes really messy when we have regions (added here) and want to compute an overlap and don't know which notation is being used.
It is also possible to add a template parameter to this struct to switch the behaviour of the overlap algorithms between half-open and closed intervals, but that also adds complexity that I would like to avoid.
My proposal right now:
genomic_region is always half-open, 0-based.
the indexed access on var_io knows this and internally subtracts 1 from the position
we evaluate at a later point (when we also have map IO) whether to consistently use 0-based, half-open throughout the library
We might need to discuss the position notation again. I wanted to stay as close as possible to the format, but this becomes really messy when we have regions (added here) and want to compute an overlap and don't know which notation is being used.
It is also possible to add a template parameter to this struct to switch the behaviour of the overlap algorithms between half-open and closed intervals, but that also adds complexity that I would like to avoid.
My proposal right now:
OK?