diff --git a/src/cool_seq_tool/mappers/exon_genomic_coords.py b/src/cool_seq_tool/mappers/exon_genomic_coords.py index 96bb8a43..3f967ba2 100644 --- a/src/cool_seq_tool/mappers/exon_genomic_coords.py +++ b/src/cool_seq_tool/mappers/exon_genomic_coords.py @@ -571,13 +571,16 @@ async def _genomic_to_transcript_exon_coordinate( params["exon"] = exon params["transcript"] = transcript params["gene"] = gene - params["pos"] = ( - tx_genomic_coords[exon - 1][3] # Start genomic coordinate - if is_start - else tx_genomic_coords[exon - 1][4] # End genomic coordinate - ) + params["pos"] = pos params["chr"] = alt_ac - params["exon_offset"] = 0 + self._set_exon_offset( + params=params, + start=tx_genomic_coords[exon - 1][3], # Start exon coordinate + end=tx_genomic_coords[exon - 1][4], # End exon coordinate + pos=pos, + is_start=is_start, + strand=strand, + ) params["strand"] = strand.value resp.transcript_exon_data = TranscriptExonData(**params) return resp diff --git a/tests/mappers/test_exon_genomic_coords.py b/tests/mappers/test_exon_genomic_coords.py index 0bdd9a8f..735eb725 100644 --- a/tests/mappers/test_exon_genomic_coords.py +++ b/tests/mappers/test_exon_genomic_coords.py @@ -195,10 +195,10 @@ def zbtb10_exon3_end(): "gene": "ZBTB10", "chr": "NC_000008.11", "start": None, - "end": 80514008, + "end": 80514009, "exon_start": None, "exon_end": 3, - "exon_end_offset": 0, + "exon_end_offset": 100, "exon_start_offset": None, "transcript": "NM_001105539.3", "strand": Strand.POSITIVE, @@ -212,10 +212,10 @@ def zbtb10_exon5_start(): params = { "gene": "ZBTB10", "chr": "NC_000008.11", - "start": 80518781, + "start": 80518580, "end": None, "exon_start": 5, - "exon_start_offset": 0, + "exon_start_offset": -374, "exon_end": None, "exon_end_offset": None, "transcript": "NM_001105539.3", @@ -231,11 +231,11 @@ def tpm3_exon6_end(): "gene": "TPM3", "chr": "NC_000001.11", "start": None, - "end": 154171488, + "end": 154171409, "exon_start": None, "exon_start_offset": None, "exon_end": 6, - "exon_end_offset": 0, + "exon_end_offset": 3, "transcript": "NM_152263.4", "strand": Strand.NEGATIVE, } @@ -248,10 +248,10 @@ def tpm3_exon5_start(): params = { "gene": "TPM3", "chr": "NC_000001.11", - "start": 154172907, + "start": 154173080, "end": None, "exon_start": 5, - "exon_start_offset": 0, + "exon_start_offset": -102, "exon_end": None, "exon_end_offset": None, "transcript": "NM_152263.4", @@ -267,11 +267,11 @@ def gusbp3_exon2_end(): "gene": "GUSBP3", "chr": "NC_000005.10", "start": None, - "end": 69680799, + "end": 69680763, "exon_start": None, "exon_start_offset": None, "exon_end": 2, - "exon_end_offset": 0, + "exon_end_offset": 2, "transcript": "NR_027386.2", "strand": Strand.NEGATIVE, } @@ -284,10 +284,10 @@ def gusbp3_exon5_start(): params = { "gene": "GUSBP3", "chr": "NC_000005.10", - "start": 69642204, + "start": 69645878, "end": None, "exon_start": 5, - "exon_start_offset": 0, + "exon_start_offset": -3589, "exon_end": None, "exon_end_offset": None, "transcript": "NR_027386.2",