diff --git a/src/ga4gh/vrs/normalize.py b/src/ga4gh/vrs/normalize.py index 9747febd..0ee08b74 100644 --- a/src/ga4gh/vrs/normalize.py +++ b/src/ga4gh/vrs/normalize.py @@ -58,7 +58,7 @@ def _get_allele_location_pos( if not pos0_is_none and not pos1_is_none: # definite range return None - val = pos.root[0] or pos.root[1] + val = pos.root[1] if pos0_is_none else pos.root[0] pos_type = ( PosType.RANGE_LT_OR_EQUAL if pos0_is_none else PosType.RANGE_GT_OR_EQUAL ) diff --git a/tests/test_vrs_normalize.py b/tests/test_vrs_normalize.py index d6f62545..860c6a7b 100644 --- a/tests/test_vrs_normalize.py +++ b/tests/test_vrs_normalize.py @@ -966,6 +966,23 @@ def _bounds_allele( "expected_start": [None, 4400], "expected_end": [4501, None], }, + # a defined range bound of 0 must not be mistaken for the undefined one + { + "id": "indefinite-start-range-from-zero", + "start": [0, None], + "end": 1, + "sequence": "T", + "expected_start": [0, None], + "expected_end": 1, + }, + { + "id": "indefinite-end-range-from-zero", + "start": [None, 0], + "end": [0, None], + "sequence": "A", + "expected_start": [None, 0], + "expected_end": [0, None], + }, ]