Skip to content

Commit c481007

Browse files
committed
Change helper method location and name
1 parent 9e53827 commit c481007

File tree

3 files changed

+29
-20
lines changed

3 files changed

+29
-20
lines changed

src/cool_seq_tool/mappers/exon_genomic_coords.py

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -305,22 +305,6 @@ def __init__(
305305
self.mane_transcript_mappings = mane_transcript_mappings
306306
self.liftover = liftover
307307

308-
def _get_mane_status_transcript(self, tx_ac: str) -> TranscriptPriority:
309-
"""Get MANE status for a transcript
310-
311-
:param tx_ac: A RefSeq transcript accession
312-
:return: A TranscriptPriority object
313-
"""
314-
mane_info = self.mane_transcript_mappings.get_mane_from_transcripts([tx_ac])
315-
if not mane_info:
316-
return TranscriptPriority.LONGEST_COMPATIBLE_REMAINING
317-
mane_info = mane_info[0]["MANE_status"]
318-
return (
319-
TranscriptPriority.MANE_SELECT
320-
if mane_info == "MANE Select"
321-
else TranscriptPriority.MANE_PLUS_CLINICAL
322-
)
323-
324308
async def tx_segment_to_genomic(
325309
self,
326310
transcript: str,
@@ -456,7 +440,7 @@ async def tx_segment_to_genomic(
456440
gene=gene,
457441
genomic_ac=genomic_ac,
458442
tx_ac=transcript,
459-
tx_status=self._get_mane_status_transcript(transcript),
443+
tx_status=self.mane_transcript_mappings.get_transcript_status(transcript),
460444
strand=strand,
461445
seg_start=seg_start,
462446
seg_end=seg_end,
@@ -990,7 +974,7 @@ async def _genomic_to_tx_segment(
990974
gene=gene,
991975
genomic_ac=genomic_ac,
992976
tx_ac=transcript,
993-
tx_status=self._get_mane_status_transcript(transcript),
977+
tx_status=self.mane_transcript_mappings.get_transcript_status(transcript),
994978
strand=strand,
995979
seg=TxSegment(
996980
exon_ord=exon_num,

src/cool_seq_tool/sources/mane_transcript_mappings.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import polars as pl
99

1010
from cool_seq_tool.resources.data_files import DataFile, get_data_file
11-
from cool_seq_tool.schemas import ManeGeneData
11+
from cool_seq_tool.schemas import ManeGeneData, TranscriptPriority
1212

1313
_logger = logging.getLogger(__name__)
1414

@@ -85,6 +85,22 @@ def get_mane_from_transcripts(self, transcripts: list[str]) -> list[dict]:
8585
return []
8686
return mane_rows.to_dicts()
8787

88+
def get_transcript_status(self, tx_ac: str) -> TranscriptPriority:
89+
"""Get MANE status for a transcript
90+
91+
:param tx_ac: A RefSeq transcript accession
92+
:return: A TranscriptPriority object
93+
"""
94+
mane_info = self.get_mane_from_transcripts([tx_ac])
95+
if not mane_info:
96+
return TranscriptPriority.LONGEST_COMPATIBLE_REMAINING
97+
mane_info = mane_info[0]["MANE_status"]
98+
return (
99+
TranscriptPriority.MANE_SELECT
100+
if mane_info == "MANE Select"
101+
else TranscriptPriority.MANE_PLUS_CLINICAL
102+
)
103+
88104
def get_mane_data_from_chr_pos(
89105
self, alt_ac: str, start: int, end: int
90106
) -> list[dict]:

tests/sources/test_mane_transcript_mappings.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import polars as pl
66
import pytest
77

8-
from cool_seq_tool.schemas import ManeGeneData
8+
from cool_seq_tool.schemas import ManeGeneData, TranscriptPriority
99

1010

1111
@pytest.fixture(scope="module")
@@ -168,6 +168,15 @@ def test_get_mane_from_transcripts(
168168
assert resp == []
169169

170170

171+
def test_get_transcript_status(test_mane_transcript_mappings):
172+
"""Test that get_transcript_status works correctly"""
173+
actual = test_mane_transcript_mappings.get_transcript_status("NM_152263.4")
174+
assert actual == TranscriptPriority.MANE_SELECT
175+
176+
actual = test_mane_transcript_mappings.get_transcript_status("NM_152263.3")
177+
assert actual == TranscriptPriority.LONGEST_COMPATIBLE_REMAINING
178+
179+
171180
def test_get_mane_data_from_chr_pos(
172181
test_mane_transcript_mappings, braf_select, braf_plus_clinical
173182
):

0 commit comments

Comments
 (0)