cool-seq-tool 0.10.0__tar.gz → 0.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/PKG-INFO +2 -2
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/mappers/exon_genomic_coords.py +14 -20
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool.egg-info/PKG-INFO +2 -2
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/mappers/test_exon_genomic_coords.py +1 -1
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.coveragerc +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.github/workflows/checks.yaml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.github/workflows/pr-priority-label.yaml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.github/workflows/release.yml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.github/workflows/stale.yaml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.gitignore +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.pre-commit-config.yaml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/.readthedocs.yaml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/CITATION.cff +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/LICENSE +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/README.md +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/Makefile +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/make.bat +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/_static/img/biomart.png +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/_templates/module_summary.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/changelog.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/conf.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/contributing.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/index.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/install.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/license.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/reference/index.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/transcript_selection.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/docs/source/usage.rst +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/pyproject.toml +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/setup.cfg +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/__init__.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/app.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/handlers/__init__.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/handlers/seqrepo_access.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/mappers/__init__.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/mappers/alignment.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/mappers/liftover.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/mappers/mane_transcript.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/resources/__init__.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/resources/data_files.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/resources/status.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/resources/transcript_mapping.tsv +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/schemas.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/sources/__init__.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/sources/mane_transcript_mappings.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/sources/transcript_mappings.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/sources/uta_database.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/utils.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool.egg-info/SOURCES.txt +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool.egg-info/dependency_links.txt +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool.egg-info/requires.txt +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool.egg-info/top_level.txt +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/conftest.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/handlers/test_seqrepo_access.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/mappers/test_alignment.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/mappers/test_liftover.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/mappers/test_mane_transcript.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/sources/test_mane_transcript_mappings.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/sources/test_uta_database.py +0 -0
- {cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/test_utils.py +0 -0
{cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/mappers/exon_genomic_coords.py
RENAMED
@@ -865,14 +865,14 @@ class ExonGenomicCoordsMapper:
|
|
865
865
|
if use_alt_start_i and coordinate_type == CoordinateType.RESIDUE:
|
866
866
|
genomic_pos = genomic_pos - 1 # Convert residue coordinate to inter-residue
|
867
867
|
|
868
|
-
# Validate that the breakpoint
|
869
|
-
coordinate_check = await self.
|
870
|
-
pos=genomic_pos, genomic_ac=genomic_ac,
|
868
|
+
# Validate that the breakpoint between the first and last exon for the selected transcript
|
869
|
+
coordinate_check = await self._validate_genomic_breakpoint(
|
870
|
+
pos=genomic_pos, genomic_ac=genomic_ac, tx_ac=transcript
|
871
871
|
)
|
872
872
|
if not coordinate_check:
|
873
873
|
return GenomicTxSeg(
|
874
874
|
errors=[
|
875
|
-
f"{genomic_pos} on {genomic_ac} does not occur within the exons for {
|
875
|
+
f"{genomic_pos} on {genomic_ac} does not occur within the exons for {transcript}"
|
876
876
|
]
|
877
877
|
)
|
878
878
|
|
@@ -943,38 +943,32 @@ class ExonGenomicCoordsMapper:
|
|
943
943
|
)
|
944
944
|
return liftover_data[1] if liftover_data else None
|
945
945
|
|
946
|
-
async def
|
946
|
+
async def _validate_genomic_breakpoint(
|
947
947
|
self,
|
948
948
|
pos: int,
|
949
949
|
genomic_ac: str,
|
950
|
-
|
950
|
+
tx_ac: str,
|
951
951
|
) -> bool:
|
952
952
|
"""Validate that a genomic coordinate falls within the first and last exon
|
953
|
-
|
953
|
+
for a transcript on a given accession
|
954
954
|
|
955
955
|
:param pos: Genomic position on ``genomic_ac``
|
956
956
|
:param genomic_ac: RefSeq genomic accession, e.g. ``"NC_000007.14"``
|
957
|
-
:param
|
957
|
+
:param transcript: A transcript accession
|
958
958
|
:return: ``True`` if the coordinate falls within the first and last exon
|
959
|
-
for the
|
959
|
+
for the transcript, ``False`` if not
|
960
960
|
"""
|
961
961
|
query = f"""
|
962
962
|
WITH tx_boundaries AS (
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
MIN(alt_start_i) as min_start,
|
967
|
-
MAX(alt_end_i) as max_end
|
963
|
+
SELECT
|
964
|
+
MIN(alt_start_i) AS min_start,
|
965
|
+
MAX(alt_end_i) AS max_end
|
968
966
|
FROM {self.uta_db.schema}.tx_exon_aln_v
|
969
|
-
WHERE
|
967
|
+
WHERE tx_ac = '{tx_ac}'
|
970
968
|
AND alt_ac = '{genomic_ac}'
|
971
|
-
GROUP BY tx_ac, hgnc
|
972
969
|
)
|
973
|
-
SELECT
|
974
|
-
FROM tx_boundaries
|
970
|
+
SELECT * FROM tx_boundaries
|
975
971
|
WHERE {pos} between tx_boundaries.min_start and tx_boundaries.max_end
|
976
|
-
ORDER BY hgnc
|
977
|
-
LIMIT 1;
|
978
972
|
""" # noqa: S608
|
979
973
|
results = await self.uta_db.execute_query(query)
|
980
974
|
return bool(results)
|
@@ -1516,7 +1516,7 @@ async def test_invalid(test_egc_mapper):
|
|
1516
1516
|
)
|
1517
1517
|
genomic_tx_seg_service_checks(resp, is_valid=False)
|
1518
1518
|
assert resp.errors == [
|
1519
|
-
"9999999999998 on NC_000001.11 does not occur within the exons for
|
1519
|
+
"9999999999998 on NC_000001.11 does not occur within the exons for NM_152263.3"
|
1520
1520
|
]
|
1521
1521
|
|
1522
1522
|
# Must supply either gene or transcript
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/resources/transcript_mapping.tsv
RENAMED
File without changes
|
File without changes
|
File without changes
|
{cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/sources/mane_transcript_mappings.py
RENAMED
File without changes
|
{cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool/sources/transcript_mappings.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/src/cool_seq_tool.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cool_seq_tool-0.10.0 → cool_seq_tool-0.11.0}/tests/sources/test_mane_transcript_mappings.py
RENAMED
File without changes
|
File without changes
|
File without changes
|