cool-seq-tool 0.8.0__py3-none-any.whl → 0.9.0__py3-none-any.whl
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/mappers/exon_genomic_coords.py +21 -2
 - {cool_seq_tool-0.8.0.dist-info → cool_seq_tool-0.9.0.dist-info}/METADATA +31 -31
 - {cool_seq_tool-0.8.0.dist-info → cool_seq_tool-0.9.0.dist-info}/RECORD +6 -6
 - {cool_seq_tool-0.8.0.dist-info → cool_seq_tool-0.9.0.dist-info}/WHEEL +1 -1
 - {cool_seq_tool-0.8.0.dist-info → cool_seq_tool-0.9.0.dist-info}/LICENSE +0 -0
 - {cool_seq_tool-0.8.0.dist-info → cool_seq_tool-0.9.0.dist-info}/top_level.txt +0 -0
 
| 
         @@ -1169,14 +1169,32 @@ class ExonGenomicCoordsMapper: 
     | 
|
| 
       1169 
1169 
     | 
    
         
             
                    :param end: Genomic coordinate of breakpoint
         
     | 
| 
       1170 
1170 
     | 
    
         
             
                    :return: Exon number corresponding to adjacent exon. Will be 0-based
         
     | 
| 
       1171 
1171 
     | 
    
         
             
                    """
         
     | 
| 
       1172 
     | 
    
         
            -
                     
     | 
| 
      
 1172 
     | 
    
         
            +
                    # If a transcript has only one exon, return 0
         
     | 
| 
      
 1173 
     | 
    
         
            +
                    if len(tx_exons_genomic_coords) == 1:
         
     | 
| 
      
 1174 
     | 
    
         
            +
                        return 0
         
     | 
| 
      
 1175 
     | 
    
         
            +
             
     | 
| 
      
 1176 
     | 
    
         
            +
                    # Check if a breakpoint occurs before/after the transcript boundaries
         
     | 
| 
      
 1177 
     | 
    
         
            +
                    bp = start if start else end
         
     | 
| 
      
 1178 
     | 
    
         
            +
                    exon_list_len = len(tx_exons_genomic_coords) - 1
         
     | 
| 
      
 1179 
     | 
    
         
            +
             
     | 
| 
      
 1180 
     | 
    
         
            +
                    if strand == Strand.POSITIVE:
         
     | 
| 
      
 1181 
     | 
    
         
            +
                        if bp < tx_exons_genomic_coords[0].alt_start_i:
         
     | 
| 
      
 1182 
     | 
    
         
            +
                            return 0
         
     | 
| 
      
 1183 
     | 
    
         
            +
                        if bp > tx_exons_genomic_coords[exon_list_len].alt_end_i:
         
     | 
| 
      
 1184 
     | 
    
         
            +
                            return exon_list_len
         
     | 
| 
      
 1185 
     | 
    
         
            +
                    if strand == Strand.NEGATIVE:
         
     | 
| 
      
 1186 
     | 
    
         
            +
                        if bp > tx_exons_genomic_coords[0].alt_end_i:
         
     | 
| 
      
 1187 
     | 
    
         
            +
                            return 0
         
     | 
| 
      
 1188 
     | 
    
         
            +
                        if bp < tx_exons_genomic_coords[exon_list_len].alt_start_i:
         
     | 
| 
      
 1189 
     | 
    
         
            +
                            return exon_list_len
         
     | 
| 
      
 1190 
     | 
    
         
            +
             
     | 
| 
      
 1191 
     | 
    
         
            +
                    for i in range(exon_list_len):
         
     | 
| 
       1173 
1192 
     | 
    
         
             
                        exon = tx_exons_genomic_coords[i]
         
     | 
| 
       1174 
1193 
     | 
    
         
             
                        if start == exon.alt_start_i:
         
     | 
| 
       1175 
1194 
     | 
    
         
             
                            break
         
     | 
| 
       1176 
1195 
     | 
    
         
             
                        if end == exon.alt_end_i:
         
     | 
| 
       1177 
1196 
     | 
    
         
             
                            break
         
     | 
| 
       1178 
1197 
     | 
    
         
             
                        next_exon = tx_exons_genomic_coords[i + 1]
         
     | 
| 
       1179 
     | 
    
         
            -
                        bp = start if start else end
         
     | 
| 
       1180 
1198 
     | 
    
         
             
                        if strand == Strand.POSITIVE:
         
     | 
| 
       1181 
1199 
     | 
    
         
             
                            lte_exon = exon
         
     | 
| 
       1182 
1200 
     | 
    
         
             
                            gte_exon = next_exon
         
     | 
| 
         @@ -1185,6 +1203,7 @@ class ExonGenomicCoordsMapper: 
     | 
|
| 
       1185 
1203 
     | 
    
         
             
                            gte_exon = exon
         
     | 
| 
       1186 
1204 
     | 
    
         
             
                        if bp >= lte_exon.alt_end_i and bp <= gte_exon.alt_start_i:
         
     | 
| 
       1187 
1205 
     | 
    
         
             
                            break
         
     | 
| 
      
 1206 
     | 
    
         
            +
             
     | 
| 
       1188 
1207 
     | 
    
         
             
                    # Return current exon if end position is provided, next exon if start position
         
     | 
| 
       1189 
1208 
     | 
    
         
             
                    # is provided.
         
     | 
| 
       1190 
1209 
     | 
    
         
             
                    return exon.ord if end else exon.ord + 1
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Metadata-Version: 2.1
         
     | 
| 
       2 
2 
     | 
    
         
             
            Name: cool_seq_tool
         
     | 
| 
       3 
     | 
    
         
            -
            Version: 0. 
     | 
| 
      
 3 
     | 
    
         
            +
            Version: 0.9.0
         
     | 
| 
       4 
4 
     | 
    
         
             
            Summary: Common Operation on Lots of Sequences Tool
         
     | 
| 
       5 
5 
     | 
    
         
             
            Author: Kori Kuzma, James Stevenson, Katie Stahl, Alex Wagner
         
     | 
| 
       6 
6 
     | 
    
         
             
            License: MIT License
         
     | 
| 
         @@ -47,39 +47,39 @@ License-File: LICENSE 
     | 
|
| 
       47 
47 
     | 
    
         
             
            Requires-Dist: asyncpg
         
     | 
| 
       48 
48 
     | 
    
         
             
            Requires-Dist: aiofiles
         
     | 
| 
       49 
49 
     | 
    
         
             
            Requires-Dist: boto3
         
     | 
| 
       50 
     | 
    
         
            -
            Requires-Dist: agct 
     | 
| 
       51 
     | 
    
         
            -
            Requires-Dist: polars 
     | 
| 
      
 50 
     | 
    
         
            +
            Requires-Dist: agct>=0.1.0-dev1
         
     | 
| 
      
 51 
     | 
    
         
            +
            Requires-Dist: polars~=1.0
         
     | 
| 
       52 
52 
     | 
    
         
             
            Requires-Dist: hgvs
         
     | 
| 
       53 
53 
     | 
    
         
             
            Requires-Dist: biocommons.seqrepo
         
     | 
| 
       54 
     | 
    
         
            -
            Requires-Dist: pydantic 
     | 
| 
       55 
     | 
    
         
            -
            Requires-Dist: ga4gh.vrs 
     | 
| 
       56 
     | 
    
         
            -
            Requires-Dist: wags-tails 
     | 
| 
      
 54 
     | 
    
         
            +
            Requires-Dist: pydantic==2.*
         
     | 
| 
      
 55 
     | 
    
         
            +
            Requires-Dist: ga4gh.vrs~=2.0.0a10
         
     | 
| 
      
 56 
     | 
    
         
            +
            Requires-Dist: wags-tails~=0.2.2
         
     | 
| 
       57 
57 
     | 
    
         
             
            Requires-Dist: bioutils
         
     | 
| 
       58 
58 
     | 
    
         
             
            Provides-Extra: dev
         
     | 
| 
       59 
     | 
    
         
            -
            Requires-Dist: pre-commit 
     | 
| 
       60 
     | 
    
         
            -
            Requires-Dist: ipython 
     | 
| 
       61 
     | 
    
         
            -
            Requires-Dist: ipykernel 
     | 
| 
       62 
     | 
    
         
            -
            Requires-Dist: psycopg2-binary 
     | 
| 
       63 
     | 
    
         
            -
            Requires-Dist: ruff 
     | 
| 
      
 59 
     | 
    
         
            +
            Requires-Dist: pre-commit>=3.7.1; extra == "dev"
         
     | 
| 
      
 60 
     | 
    
         
            +
            Requires-Dist: ipython; extra == "dev"
         
     | 
| 
      
 61 
     | 
    
         
            +
            Requires-Dist: ipykernel; extra == "dev"
         
     | 
| 
      
 62 
     | 
    
         
            +
            Requires-Dist: psycopg2-binary; extra == "dev"
         
     | 
| 
      
 63 
     | 
    
         
            +
            Requires-Dist: ruff==0.5.0; extra == "dev"
         
     | 
| 
      
 64 
     | 
    
         
            +
            Provides-Extra: tests
         
     | 
| 
      
 65 
     | 
    
         
            +
            Requires-Dist: pytest; extra == "tests"
         
     | 
| 
      
 66 
     | 
    
         
            +
            Requires-Dist: pytest-cov; extra == "tests"
         
     | 
| 
      
 67 
     | 
    
         
            +
            Requires-Dist: pytest-asyncio==0.18.3; extra == "tests"
         
     | 
| 
      
 68 
     | 
    
         
            +
            Requires-Dist: mock; extra == "tests"
         
     | 
| 
       64 
69 
     | 
    
         
             
            Provides-Extra: docs
         
     | 
| 
       65 
     | 
    
         
            -
            Requires-Dist: sphinx 
     | 
| 
       66 
     | 
    
         
            -
            Requires-Dist: sphinx-autodoc-typehints 
     | 
| 
       67 
     | 
    
         
            -
            Requires-Dist: sphinx-autobuild 
     | 
| 
       68 
     | 
    
         
            -
            Requires-Dist: sphinx-copybutton 
     | 
| 
       69 
     | 
    
         
            -
            Requires-Dist: sphinxext-opengraph 
     | 
| 
       70 
     | 
    
         
            -
            Requires-Dist: furo 
     | 
| 
       71 
     | 
    
         
            -
            Requires-Dist: sphinx-github-changelog 
     | 
| 
       72 
     | 
    
         
            -
            Provides-Extra: test
         
     | 
| 
       73 
     | 
    
         
            -
            Requires-Dist: pytest ; extra == 'test'
         
     | 
| 
       74 
     | 
    
         
            -
            Requires-Dist: pytest-cov ; extra == 'test'
         
     | 
| 
       75 
     | 
    
         
            -
            Requires-Dist: pytest-asyncio ==0.18.3 ; extra == 'test'
         
     | 
| 
       76 
     | 
    
         
            -
            Requires-Dist: mock ; extra == 'test'
         
     | 
| 
      
 70 
     | 
    
         
            +
            Requires-Dist: sphinx==6.1.3; extra == "docs"
         
     | 
| 
      
 71 
     | 
    
         
            +
            Requires-Dist: sphinx-autodoc-typehints==1.22.0; extra == "docs"
         
     | 
| 
      
 72 
     | 
    
         
            +
            Requires-Dist: sphinx-autobuild==2021.3.14; extra == "docs"
         
     | 
| 
      
 73 
     | 
    
         
            +
            Requires-Dist: sphinx-copybutton==0.5.2; extra == "docs"
         
     | 
| 
      
 74 
     | 
    
         
            +
            Requires-Dist: sphinxext-opengraph==0.8.2; extra == "docs"
         
     | 
| 
      
 75 
     | 
    
         
            +
            Requires-Dist: furo==2023.3.27; extra == "docs"
         
     | 
| 
      
 76 
     | 
    
         
            +
            Requires-Dist: sphinx-github-changelog==1.2.1; extra == "docs"
         
     | 
| 
       77 
77 
     | 
    
         | 
| 
       78 
78 
     | 
    
         
             
            <h1 align="center">
         
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
      
 79 
     | 
    
         
            +
            Cool-Seq-Tool
         
     | 
| 
       80 
80 
     | 
    
         
             
            </h1>
         
     | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
     | 
    
         
            -
            [](https://pypi.python.org/pypi/cool-seq-tool) [](https://pypi.python.org/pypi/cool-seq-tool) [](https://pypi.python.org/pypi/cool-seq-tool) [](https://github.com/genomicmedlab/cool-seq-tool/actions/checks.yaml)
         
     | 
| 
      
 82 
     | 
    
         
            +
            [](https://pypi.python.org/pypi/cool-seq-tool) [](https://doi.org/10.5281/zenodo.14007783) [](https://pypi.python.org/pypi/cool-seq-tool) [](https://pypi.python.org/pypi/cool-seq-tool) [](https://github.com/genomicmedlab/cool-seq-tool/actions/checks.yaml)
         
     | 
| 
       83 
83 
     | 
    
         | 
| 
       84 
84 
     | 
    
         
             
            ---
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
         @@ -90,18 +90,18 @@ CoolSeqTool 
     | 
|
| 
       90 
90 
     | 
    
         
             
            ## Overview
         
     | 
| 
       91 
91 
     | 
    
         | 
| 
       92 
92 
     | 
    
         
             
            <!-- description -->
         
     | 
| 
       93 
     | 
    
         
            -
            The ** 
     | 
| 
      
 93 
     | 
    
         
            +
            The Common Operations On Lots-Of Sequences Tool, **Cool-Seq-Tool**, provides:
         
     | 
| 
       94 
94 
     | 
    
         | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
       96 
     | 
    
         
            -
             
     | 
| 
       97 
     | 
    
         
            -
             
     | 
| 
      
 95 
     | 
    
         
            +
            - A Pythonic API on top of sequence data of interest to tertiary analysis tools, including mappings between gene names and transcripts, [MANE transcript](https://www.ncbi.nlm.nih.gov/refseq/MANE/) descriptions, and transcript alignment data from the [Universal Transcript Archive](https://github.com/biocommons/uta)
         
     | 
| 
      
 96 
     | 
    
         
            +
            - Augmented access to the [SeqRepo](https://github.com/biocommons/biocommons.seqrepo) database, including multiple additional methods and tools
         
     | 
| 
      
 97 
     | 
    
         
            +
            - Mapping tools, including a transcript selection algorithm for selecting a representative transcript defined [here](https://coolseqtool.readthedocs.io/stable/transcript_selection.html), that combine the above to support translation between references sequences, annotation layers, and transcripts
         
     | 
| 
       98 
98 
     | 
    
         
             
            <!-- /description -->
         
     | 
| 
       99 
99 
     | 
    
         | 
| 
       100 
100 
     | 
    
         
             
            ---
         
     | 
| 
       101 
101 
     | 
    
         | 
| 
       102 
102 
     | 
    
         
             
            ## Install
         
     | 
| 
       103 
103 
     | 
    
         | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
      
 104 
     | 
    
         
            +
            Cool-Seq-Tool is available on [PyPI](https://pypi.org/project/cool-seq-tool)
         
     | 
| 
       105 
105 
     | 
    
         | 
| 
       106 
106 
     | 
    
         
             
            ```shell
         
     | 
| 
       107 
107 
     | 
    
         
             
            python3 -m pip install cool-seq-tool
         
     | 
| 
         @@ -113,7 +113,7 @@ See the [installation instructions](https://coolseqtool.readthedocs.io/stable/in 
     | 
|
| 
       113 
113 
     | 
    
         | 
| 
       114 
114 
     | 
    
         
             
            ## Usage
         
     | 
| 
       115 
115 
     | 
    
         | 
| 
       116 
     | 
    
         
            -
            All  
     | 
| 
      
 116 
     | 
    
         
            +
            All Cool-Seq-Tool resources can be initialized by way of a top-level class instance:
         
     | 
| 
       117 
117 
     | 
    
         | 
| 
       118 
118 
     | 
    
         
             
            ```pycon
         
     | 
| 
       119 
119 
     | 
    
         
             
            >>> from cool_seq_tool import CoolSeqTool
         
     | 
| 
         @@ -6,7 +6,7 @@ cool_seq_tool/handlers/__init__.py,sha256=KalQ46vX1MO4SJz2SlspKoIRy1n3c3Vp1t4Y2p 
     | 
|
| 
       6 
6 
     | 
    
         
             
            cool_seq_tool/handlers/seqrepo_access.py,sha256=Jd19jbdUvPRPn_XWozL67ph-nSIxpb4_UUimapDrsm4,9162
         
     | 
| 
       7 
7 
     | 
    
         
             
            cool_seq_tool/mappers/__init__.py,sha256=O0JRxNFk8nWxD4v5ij47xelhvfVLdEXS43l2tzRuiUE,305
         
     | 
| 
       8 
8 
     | 
    
         
             
            cool_seq_tool/mappers/alignment.py,sha256=nV6PS3mhkQ2MD1GcpNBujBOqd3AKxYSYA9BCusFOa1o,9636
         
     | 
| 
       9 
     | 
    
         
            -
            cool_seq_tool/mappers/exon_genomic_coords.py,sha256= 
     | 
| 
      
 9 
     | 
    
         
            +
            cool_seq_tool/mappers/exon_genomic_coords.py,sha256=XYHWYHL9PcBIKHB_EsN1YKwmhP-KLrGyZv8yH_7huuo,49533
         
     | 
| 
       10 
10 
     | 
    
         
             
            cool_seq_tool/mappers/liftover.py,sha256=lltx9zxfkrb5PHtJlKp3a39JCwPP4e0Zft-mQc1jXL8,3367
         
     | 
| 
       11 
11 
     | 
    
         
             
            cool_seq_tool/mappers/mane_transcript.py,sha256=nirxlf3EGVInFYG4fsAqiEmDdTc_h1XuPyX2ul-a7Rk,54368
         
     | 
| 
       12 
12 
     | 
    
         
             
            cool_seq_tool/resources/__init__.py,sha256=VwUC8YaucTS6SmRirToulZTF6CuvuLQRSxFfSfAovCc,77
         
     | 
| 
         @@ -17,8 +17,8 @@ cool_seq_tool/sources/__init__.py,sha256=51QiymeptF7AeVGgV-tW_9f4pIUr0xtYbyzpvHO 
     | 
|
| 
       17 
17 
     | 
    
         
             
            cool_seq_tool/sources/mane_transcript_mappings.py,sha256=Q6J57O2lLWXlgKT0zq3BIwkwFawySnORHOX-UxzfyDE,5399
         
     | 
| 
       18 
18 
     | 
    
         
             
            cool_seq_tool/sources/transcript_mappings.py,sha256=903RKTMBO2rbKh6iTQ1BEWnY4C7saBFMPw2_4ATuudg,10054
         
     | 
| 
       19 
19 
     | 
    
         
             
            cool_seq_tool/sources/uta_database.py,sha256=gc5wsKOIhvzhwFmPmqOY0hhaVfRkRSzYNa9tpBt81_U,35017
         
     | 
| 
       20 
     | 
    
         
            -
            cool_seq_tool-0. 
     | 
| 
       21 
     | 
    
         
            -
            cool_seq_tool-0. 
     | 
| 
       22 
     | 
    
         
            -
            cool_seq_tool-0. 
     | 
| 
       23 
     | 
    
         
            -
            cool_seq_tool-0. 
     | 
| 
       24 
     | 
    
         
            -
            cool_seq_tool-0. 
     | 
| 
      
 20 
     | 
    
         
            +
            cool_seq_tool-0.9.0.dist-info/LICENSE,sha256=IpqC9A-tZW7XXXvCS8c4AVINqkmpxiVA-34Qe3CZSjo,1072
         
     | 
| 
      
 21 
     | 
    
         
            +
            cool_seq_tool-0.9.0.dist-info/METADATA,sha256=GgGZqNTW98YoV49Reizkz2UnPq1MqJOR4jjDHlcWTDQ,6556
         
     | 
| 
      
 22 
     | 
    
         
            +
            cool_seq_tool-0.9.0.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
         
     | 
| 
      
 23 
     | 
    
         
            +
            cool_seq_tool-0.9.0.dist-info/top_level.txt,sha256=cGuxdN6p3y16jQf6hCwWhE4OptwUeZPm_PNJlPb3b0k,14
         
     | 
| 
      
 24 
     | 
    
         
            +
            cool_seq_tool-0.9.0.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |