This changes the notation for subpaths, and adds some queries related to "scaffolds" that paths are on.
It also eliminates phase blocks. We are going to use possibly-fake coordinate ranges instead.
Problems:
Without phase blocks in the name you can't tell if a name is a haplotype name or a reference name by looking at it. We might need to add the list-of-reference-samples mechanic to PackedGraph and friends, or some other way to store the bit.
I have non-path-metadata-related code for parsing and dealing with a region type. But the region is just another way of parsing out the subpath from the rest of the name. Maybe some of that can/should belong to PathMetadata?
I'm not sure on the region accessors. I have one to get the region for a path in PathMetadata, but that means PathHandleGraph needs a path length query. Maybe the calls for working with regions need to be part of PathPositionHandleGraph, and I should have only scaffold-based calls on PathMetadata?
I don't actually have the get-path-step-at-these-scaffold-coordinates logic that we might need, or the see-if-step-is-in-region-set logic we would need for surject or rGFA.
This changes the notation for subpaths, and adds some queries related to "scaffolds" that paths are on.
It also eliminates phase blocks. We are going to use possibly-fake coordinate ranges instead.
Problems: