-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Feature description
In Issue #147 we made it so that AnyVar automatically detects the reference assembly (either GRCh37 or GRCh38) of new variants when they are registered and lifts them over to the opposite assembly. To ease development, we shortcutted the conversion of variant coordinates by assuming that all variants will always lift over unambiguously between assemblies. However, in reality some variants will map to multiple start/end coordinates or coordinate ranges in the opposing assembly. We need to handle these cases.
NOTE: We still need to decide how we want to handle these cases. The proposed solution is to register each possible lifted-over variant, but this could be technically challenging. See "Implementation Details" for more.
Use case
If we don't handle these edge cases, AnyVar won't always be precise; and it is critical that AnyVar be a precise as possible in order to ultimately gain widespread adoption.
Acceptance Criteria
- AnyVar handles cases of ambiguous liftover intentionally and precisely.
Proposed solution
No response
Alternatives considered
No response
Implementation details
We use AGCT for our coordinate liftover conversions. With this method, a variant's start
and end
coordinates must be converted separately. The liftover conversion for each position return a list that may contain multiple results. However, if the conversion for both the start
and the end
coordinates return lists of multiple results, how do we know which lifted-over start
result pairs with which lifted-over end
result? This gets even messier for variants with Ranged start/end positions, since the problem doubles.
UPDATE - We have decided to just not handle cases where liftover is ambiguous for now, and raise an error.
Potential Impact
No response
Additional context
No response
Contribution
None