cool-seq-tool 0.13.0__py3-none-any.whl → 0.13.1__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/__init__.py +1 -1
- cool_seq_tool/mappers/exon_genomic_coords.py +2 -5
- cool_seq_tool/resources/status.py +9 -11
- cool_seq_tool/sources/uta_database.py +11 -11
- {cool_seq_tool-0.13.0.dist-info → cool_seq_tool-0.13.1.dist-info}/METADATA +6 -5
- {cool_seq_tool-0.13.0.dist-info → cool_seq_tool-0.13.1.dist-info}/RECORD +9 -9
- {cool_seq_tool-0.13.0.dist-info → cool_seq_tool-0.13.1.dist-info}/WHEEL +1 -1
- {cool_seq_tool-0.13.0.dist-info → cool_seq_tool-0.13.1.dist-info/licenses}/LICENSE +0 -0
- {cool_seq_tool-0.13.0.dist-info → cool_seq_tool-0.13.1.dist-info}/top_level.txt +0 -0
| @@ -6,4 +6,4 @@ from .mane_transcript import ManeTranscript | |
| 6 6 | 
             
            from .exon_genomic_coords import ExonGenomicCoordsMapper
         | 
| 7 7 |  | 
| 8 8 |  | 
| 9 | 
            -
            __all__ = ["AlignmentMapper", " | 
| 9 | 
            +
            __all__ = ["AlignmentMapper", "ExonGenomicCoordsMapper", "LiftOver", "ManeTranscript"]
         | 
| @@ -1022,11 +1022,8 @@ class ExonGenomicCoordsMapper: | |
| 1022 1022 | 
             
                    :return ``True`` if alt_start_i should be used, ``False`` if alt_end_i should
         | 
| 1023 1023 | 
             
                    be used
         | 
| 1024 1024 | 
             
                    """
         | 
| 1025 | 
            -
                    return (
         | 
| 1026 | 
            -
                        is_seg_start
         | 
| 1027 | 
            -
                        and strand == Strand.POSITIVE
         | 
| 1028 | 
            -
                        or not is_seg_start
         | 
| 1029 | 
            -
                        and strand == Strand.NEGATIVE
         | 
| 1025 | 
            +
                    return (is_seg_start and strand == Strand.POSITIVE) or (
         | 
| 1026 | 
            +
                        not is_seg_start and strand == Strand.NEGATIVE
         | 
| 1030 1027 | 
             
                    )
         | 
| 1031 1028 |  | 
| 1032 1029 | 
             
                @staticmethod
         | 
| @@ -88,11 +88,11 @@ async def check_status( | |
| 88 88 | 
             
                    try:
         | 
| 89 89 | 
             
                        get_data_file(r)
         | 
| 90 90 | 
             
                    except FileNotFoundError:
         | 
| 91 | 
            -
                        _logger. | 
| 91 | 
            +
                        _logger.exception(
         | 
| 92 92 | 
             
                            "%s does not exist at configured location %s", name_lower, declared_path
         | 
| 93 93 | 
             
                        )
         | 
| 94 94 | 
             
                    except ValueError:
         | 
| 95 | 
            -
                        _logger. | 
| 95 | 
            +
                        _logger.exception(
         | 
| 96 96 | 
             
                            "%s configured at %s is not a valid file.", name_lower, declared_path
         | 
| 97 97 | 
             
                        )
         | 
| 98 98 | 
             
                    except Exception as e:
         | 
| @@ -107,8 +107,8 @@ async def check_status( | |
| 107 107 | 
             
                        chain_file_37_to_38=chain_file_37_to_38,
         | 
| 108 108 | 
             
                        chain_file_38_to_37=chain_file_38_to_37,
         | 
| 109 109 | 
             
                    )
         | 
| 110 | 
            -
                except (FileNotFoundError, ChainfileError) | 
| 111 | 
            -
                    _logger. | 
| 110 | 
            +
                except (FileNotFoundError, ChainfileError):
         | 
| 111 | 
            +
                    _logger.exception("agct converter setup failed")
         | 
| 112 112 | 
             
                except Exception as e:
         | 
| 113 113 | 
             
                    _logger.critical("Encountered unexpected error setting up agct: %s", e)
         | 
| 114 114 | 
             
                else:
         | 
| @@ -116,10 +116,8 @@ async def check_status( | |
| 116 116 |  | 
| 117 117 | 
             
                try:
         | 
| 118 118 | 
             
                    await UtaDatabase.create(db_url)
         | 
| 119 | 
            -
                except (OSError, InvalidCatalogNameError, UndefinedTableError) | 
| 120 | 
            -
                    _logger.error | 
| 121 | 
            -
                        "Encountered error instantiating UTA at URI %s: %s", UTA_DB_URL, e
         | 
| 122 | 
            -
                    )
         | 
| 119 | 
            +
                except (OSError, InvalidCatalogNameError, UndefinedTableError):
         | 
| 120 | 
            +
                    _logger.exception("Encountered error instantiating UTA at URI %s", UTA_DB_URL)
         | 
| 123 121 | 
             
                except Exception as e:
         | 
| 124 122 | 
             
                    _logger.critical(
         | 
| 125 123 | 
             
                        "Encountered unexpected error instantiating UTA from URI %s: %s",
         | 
| @@ -134,10 +132,10 @@ async def check_status( | |
| 134 132 | 
             
                        sr = SeqRepo(root_dir=SEQREPO_ROOT_DIR)
         | 
| 135 133 | 
             
                    sra = SeqRepoAccess(sr)
         | 
| 136 134 | 
             
                    sra.sr["NC_000001.11"][1000:1001]
         | 
| 137 | 
            -
                except OSError | 
| 138 | 
            -
                    _logger. | 
| 135 | 
            +
                except OSError:
         | 
| 136 | 
            +
                    _logger.exception("Encountered error while instantiating SeqRepo")
         | 
| 139 137 | 
             
                except KeyError:
         | 
| 140 | 
            -
                    _logger. | 
| 138 | 
            +
                    _logger.exception("SeqRepo data fetch test failed -- is it populated?")
         | 
| 141 139 | 
             
                except Exception as e:
         | 
| 142 140 | 
             
                    _logger.critical("Encountered unexpected error setting up SeqRepo: %s", e)
         | 
| 143 141 | 
             
                else:
         | 
| @@ -162,11 +162,11 @@ class UtaDatabase: | |
| 162 162 | 
             
                                database=self.args.database,
         | 
| 163 163 | 
             
                            )
         | 
| 164 164 | 
             
                        except InterfaceError as e:
         | 
| 165 | 
            -
                            _logger. | 
| 166 | 
            -
                                "While creating connection pool, encountered exception | 
| 165 | 
            +
                            _logger.exception(
         | 
| 166 | 
            +
                                "While creating connection pool, encountered exception"
         | 
| 167 167 | 
             
                            )
         | 
| 168 168 | 
             
                            msg = "Could not create connection pool"
         | 
| 169 | 
            -
                            raise Exception(msg) from e
         | 
| 169 | 
            +
                            raise Exception(msg) from e  # noqa: TRY002
         | 
| 170 170 |  | 
| 171 171 | 
             
                @classmethod
         | 
| 172 172 | 
             
                async def create(
         | 
| @@ -221,7 +221,7 @@ class UtaDatabase: | |
| 221 221 | 
             
                           WHERE table_schema = '{self.schema}'
         | 
| 222 222 | 
             
                           AND table_name = 'genomic'
         | 
| 223 223 | 
             
                        );
         | 
| 224 | 
            -
                        """ | 
| 224 | 
            +
                        """
         | 
| 225 225 | 
             
                    genomic_table_exists = await self.execute_query(check_table_exists)
         | 
| 226 226 | 
             
                    genomic_table_exists = genomic_table_exists[0].get("exists")
         | 
| 227 227 | 
             
                    if genomic_table_exists is None:
         | 
| @@ -250,7 +250,7 @@ class UtaDatabase: | |
| 250 250 | 
             
                                    LEFT JOIN {self.schema}.exon_aln ea ON
         | 
| 251 251 | 
             
                                        (((te.exon_id = ea.tx_exon_id) AND
         | 
| 252 252 | 
             
                                        (ae.exon_id = ea.alt_exon_id))));
         | 
| 253 | 
            -
                            """ | 
| 253 | 
            +
                            """
         | 
| 254 254 | 
             
                        await self.execute_query(create_genomic_table)
         | 
| 255 255 |  | 
| 256 256 | 
             
                        indexes = [
         | 
| @@ -499,7 +499,7 @@ class UtaDatabase: | |
| 499 499 | 
             
                        AND {start_pos} BETWEEN {pos_q}
         | 
| 500 500 | 
             
                        AND {end_pos} BETWEEN {pos_q}
         | 
| 501 501 | 
             
                        {order_by_cond}
         | 
| 502 | 
            -
                        """ | 
| 502 | 
            +
                        """
         | 
| 503 503 | 
             
                    result = await self.execute_query(query)
         | 
| 504 504 | 
             
                    if not result:
         | 
| 505 505 | 
             
                        _logger.warning("Unable to find transcript alignment for query: %s", query)
         | 
| @@ -852,8 +852,8 @@ class UtaDatabase: | |
| 852 852 |  | 
| 853 853 | 
             
                    try:
         | 
| 854 854 | 
             
                        assembly = Assembly(assembly)
         | 
| 855 | 
            -
                    except ValueError | 
| 856 | 
            -
                        _logger. | 
| 855 | 
            +
                    except ValueError:
         | 
| 856 | 
            +
                        _logger.exception("Unable to parse %s as an Assembly", assembly)
         | 
| 857 857 | 
             
                        return None
         | 
| 858 858 |  | 
| 859 859 | 
             
                    return chromosome, assembly
         | 
| @@ -924,11 +924,11 @@ class UtaDatabase: | |
| 924 924 |  | 
| 925 925 | 
             
                    try:
         | 
| 926 926 | 
             
                        get_secret_value_response = client.get_secret_value(SecretId=secret_name)
         | 
| 927 | 
            -
                    except ClientError | 
| 927 | 
            +
                    except ClientError:
         | 
| 928 928 | 
             
                        # For a list of exceptions thrown, see
         | 
| 929 929 | 
             
                        # https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
         | 
| 930 | 
            -
                        _logger.error | 
| 931 | 
            -
                        raise | 
| 930 | 
            +
                        _logger.exception("Encountered AWS client error fetching UTA DB secret")
         | 
| 931 | 
            +
                        raise
         | 
| 932 932 | 
             
                    else:
         | 
| 933 933 | 
             
                        return get_secret_value_response["SecretString"]
         | 
| 934 934 |  | 
| @@ -1,6 +1,6 @@ | |
| 1 | 
            -
            Metadata-Version: 2. | 
| 1 | 
            +
            Metadata-Version: 2.4
         | 
| 2 2 | 
             
            Name: cool_seq_tool
         | 
| 3 | 
            -
            Version: 0.13. | 
| 3 | 
            +
            Version: 0.13.1
         | 
| 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
         | 
| @@ -53,14 +53,14 @@ Requires-Dist: hgvs | |
| 53 53 | 
             
            Requires-Dist: biocommons.seqrepo
         | 
| 54 54 | 
             
            Requires-Dist: pydantic==2.*
         | 
| 55 55 | 
             
            Requires-Dist: ga4gh.vrs~=2.0.0a10
         | 
| 56 | 
            -
            Requires-Dist: wags-tails~=0. | 
| 56 | 
            +
            Requires-Dist: wags-tails~=0.3.2
         | 
| 57 57 | 
             
            Requires-Dist: bioutils
         | 
| 58 58 | 
             
            Provides-Extra: dev
         | 
| 59 | 
            -
            Requires-Dist: pre-commit>= | 
| 59 | 
            +
            Requires-Dist: pre-commit>=4.0.1; extra == "dev"
         | 
| 60 60 | 
             
            Requires-Dist: ipython; extra == "dev"
         | 
| 61 61 | 
             
            Requires-Dist: ipykernel; extra == "dev"
         | 
| 62 62 | 
             
            Requires-Dist: psycopg2-binary; extra == "dev"
         | 
| 63 | 
            -
            Requires-Dist: ruff==0. | 
| 63 | 
            +
            Requires-Dist: ruff==0.8.6; extra == "dev"
         | 
| 64 64 | 
             
            Provides-Extra: tests
         | 
| 65 65 | 
             
            Requires-Dist: pytest; extra == "tests"
         | 
| 66 66 | 
             
            Requires-Dist: pytest-cov; extra == "tests"
         | 
| @@ -74,6 +74,7 @@ Requires-Dist: sphinx-copybutton==0.5.2; extra == "docs" | |
| 74 74 | 
             
            Requires-Dist: sphinxext-opengraph==0.8.2; extra == "docs"
         | 
| 75 75 | 
             
            Requires-Dist: furo==2023.3.27; extra == "docs"
         | 
| 76 76 | 
             
            Requires-Dist: sphinx-github-changelog==1.2.1; extra == "docs"
         | 
| 77 | 
            +
            Dynamic: license-file
         | 
| 77 78 |  | 
| 78 79 | 
             
            <h1 align="center">
         | 
| 79 80 | 
             
            Cool-Seq-Tool
         | 
| @@ -4,21 +4,21 @@ cool_seq_tool/schemas.py,sha256=D0DsYAR1ZX7RONuc7X4hsPMKcZct7_2LlnE1KKVNre0,4139 | |
| 4 4 | 
             
            cool_seq_tool/utils.py,sha256=kesu7UnOplDzvNBg_G-_m1xMM22979nmsi4yWtweetU,2959
         | 
| 5 5 | 
             
            cool_seq_tool/handlers/__init__.py,sha256=KalQ46vX1MO4SJz2SlspKoIRy1n3c3Vp1t4Y2pIfqow,78
         | 
| 6 6 | 
             
            cool_seq_tool/handlers/seqrepo_access.py,sha256=Jd19jbdUvPRPn_XWozL67ph-nSIxpb4_UUimapDrsm4,9162
         | 
| 7 | 
            -
            cool_seq_tool/mappers/__init__.py,sha256= | 
| 7 | 
            +
            cool_seq_tool/mappers/__init__.py,sha256=4_YNwNyw_QrlhRNu1nly8Dezv81XjCIiNa7crVXEh38,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=MPp1cMfaTYZRJ-T9cP8SvICJbTlTCL5Yze3J1VT-oQQ,43790
         | 
| 10 10 | 
             
            cool_seq_tool/mappers/liftover.py,sha256=lltx9zxfkrb5PHtJlKp3a39JCwPP4e0Zft-mQc1jXL8,3367
         | 
| 11 11 | 
             
            cool_seq_tool/mappers/mane_transcript.py,sha256=C9eKEj8qhVg878oUhBKPYAZS7gpLM5aaQ0HhSkUg-2g,54365
         | 
| 12 12 | 
             
            cool_seq_tool/resources/__init__.py,sha256=VwUC8YaucTS6SmRirToulZTF6CuvuLQRSxFfSfAovCc,77
         | 
| 13 13 | 
             
            cool_seq_tool/resources/data_files.py,sha256=3lhu28tzlSoTs4vHZNu-hhoAWRrPGuZj_oIjqk2sYQM,3837
         | 
| 14 | 
            -
            cool_seq_tool/resources/status.py,sha256= | 
| 14 | 
            +
            cool_seq_tool/resources/status.py,sha256=9LYSO2mOzVmoSQwllzq1mGChjtDA6j3I0S372N89clA,5683
         | 
| 15 15 | 
             
            cool_seq_tool/resources/transcript_mapping.tsv,sha256=AO3luYQAbFiCoRgiiPXotakb5pAwx1jDCeXpvGdIuac,24138769
         | 
| 16 16 | 
             
            cool_seq_tool/sources/__init__.py,sha256=51QiymeptF7AeVGgV-tW_9f4pIUr0xtYbyzpvHOCneM,304
         | 
| 17 17 | 
             
            cool_seq_tool/sources/mane_transcript_mappings.py,sha256=C5puIA1xuEzBaSvs8VtSxVb2OIDGUg5no8v6Ma2QSdw,6597
         | 
| 18 18 | 
             
            cool_seq_tool/sources/transcript_mappings.py,sha256=903RKTMBO2rbKh6iTQ1BEWnY4C7saBFMPw2_4ATuudg,10054
         | 
| 19 | 
            -
            cool_seq_tool/sources/uta_database.py,sha256= | 
| 20 | 
            -
            cool_seq_tool-0.13. | 
| 21 | 
            -
            cool_seq_tool-0.13. | 
| 22 | 
            -
            cool_seq_tool-0.13. | 
| 23 | 
            -
            cool_seq_tool-0.13. | 
| 24 | 
            -
            cool_seq_tool-0.13. | 
| 19 | 
            +
            cool_seq_tool/sources/uta_database.py,sha256=UHFLeiuk8H29CF1tNjE8T22-QaPs_fDUaqQO6Hu18yg,36175
         | 
| 20 | 
            +
            cool_seq_tool-0.13.1.dist-info/licenses/LICENSE,sha256=IpqC9A-tZW7XXXvCS8c4AVINqkmpxiVA-34Qe3CZSjo,1072
         | 
| 21 | 
            +
            cool_seq_tool-0.13.1.dist-info/METADATA,sha256=ZhMjXeb_uT0a9hITKtjhUzVDJtlCJKLLPpOf2Cg8GpI,6579
         | 
| 22 | 
            +
            cool_seq_tool-0.13.1.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
         | 
| 23 | 
            +
            cool_seq_tool-0.13.1.dist-info/top_level.txt,sha256=cGuxdN6p3y16jQf6hCwWhE4OptwUeZPm_PNJlPb3b0k,14
         | 
| 24 | 
            +
            cool_seq_tool-0.13.1.dist-info/RECORD,,
         | 
| 
            File without changes
         | 
| 
            File without changes
         |