cool-seq-tool 0.3.0.dev1__py3-none-any.whl → 0.4.0.dev1__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/utils.py CHANGED
@@ -1,7 +1,7 @@
1
- """Module for common utilities used throughout the app"""
1
+ """Provide a small set of general helper functions."""
2
2
  import logging
3
3
  from datetime import datetime
4
- from typing import Optional, Tuple
4
+ from typing import Tuple
5
5
 
6
6
  from cool_seq_tool.schemas import ResidueMode, ServiceMeta
7
7
  from cool_seq_tool.version import __version__
@@ -10,38 +10,36 @@ logger = logging.getLogger(__name__)
10
10
 
11
11
 
12
12
  def get_inter_residue_pos(
13
- start_pos: int, residue_mode: ResidueMode, end_pos: Optional[int] = None
14
- ) -> Tuple[Optional[Tuple[int, int]], Optional[str]]:
15
- """Return inter-residue position
13
+ start_pos: int, end_pos: int, residue_mode: ResidueMode
14
+ ) -> Tuple[int, int]:
15
+ """Return equivalent inter-residue position.
16
+
17
+ Generally, we prefer to work with inter-residue coordinates where possible. Our
18
+ rationale is detailed in an appendix to the
19
+ `VRS docs <https://vrs.ga4gh.org/en/stable/appendices/design_decisions.html#inter-residue-coordinates>`_.
20
+ This function is used internally to shift user-provided coordinates accordingly.
21
+
22
+ >>> from cool_seq_tool.utils import get_inter_residue_pos
23
+ >>> from cool_seq_tool.schemas import ResidueMode
24
+ >>> get_inter_residue_pos(10, ResidueMode.RESIDUE)
25
+ ((9, 9), None)
16
26
 
17
27
  :param start_pos: Start position
28
+ :param end_pos: End position
18
29
  :param residue_mode: Residue mode for `start_pos` and `end_pos`
19
- :param end_pos: End position. If `None` assumes both `start` and `end` have same
20
- values.
21
- :return: Inter-residue coordinates, warning
30
+ :return: Inter-residue coordinates
22
31
  """
23
32
  if residue_mode == ResidueMode.RESIDUE:
24
33
  start_pos -= 1
25
- if end_pos is None:
26
- end_pos = start_pos
27
- else:
28
- end_pos -= 1
29
- elif residue_mode == ResidueMode.INTER_RESIDUE:
30
- if end_pos is None:
31
- end_pos = start_pos
32
- else:
33
- msg = (
34
- f"residue_mode must be either `residue` or `inter-residue`,"
35
- f" not `{residue_mode}`"
36
- )
37
- logger.warning(msg)
38
- return None, msg
39
- return (start_pos, end_pos), None
34
+ elif residue_mode == ResidueMode.ZERO:
35
+ end_pos += 1
36
+ return start_pos, end_pos
40
37
 
41
38
 
42
39
  @staticmethod
43
40
  def service_meta() -> ServiceMeta:
44
- """Return ServiceMeta for cool_seq_tool
41
+ """Return description of request and service, including parameters like software
42
+ version for reproducibility.
45
43
 
46
44
  :return: ServiceMeta object
47
45
  """
cool_seq_tool/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """Define package version."""
2
- __version__ = "0.3.0-dev1"
2
+ __version__ = "0.4.0-dev1"
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 VICC
3
+ Copyright (c) 2021-2023 Wagner Lab
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,130 @@
1
+ Metadata-Version: 2.1
2
+ Name: cool_seq_tool
3
+ Version: 0.4.0.dev1
4
+ Summary: Common Operation on Lots of Sequences Tool
5
+ Author: Kori Kuzma, James Stevenson, Katie Stahl, Alex Wagner
6
+ License: MIT License
7
+
8
+ Copyright (c) 2021-2023 Wagner Lab
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://github.com/genomicmedlab/cool-seq-tool
29
+ Project-URL: Documentation, https://coolseqtool.readthedocs.io/en/latest/index.html
30
+ Project-URL: Changelog, https://github.com/genomicmedlab/cool-seq-tool/releases
31
+ Project-URL: Source, https://github.com/genomicmedlab/cool-seq-tool
32
+ Project-URL: Bug Tracker, https://github.com/genomicmedlab/cool-seq-tool/issues
33
+ Classifier: Development Status :: 3 - Alpha
34
+ Classifier: Framework :: FastAPI
35
+ Classifier: Framework :: Pydantic
36
+ Classifier: Framework :: Pydantic :: 2
37
+ Classifier: Intended Audience :: Science/Research
38
+ Classifier: Intended Audience :: Developers
39
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
40
+ Classifier: License :: OSI Approved :: MIT License
41
+ Classifier: Programming Language :: Python :: 3
42
+ Classifier: Programming Language :: Python :: 3.8
43
+ Classifier: Programming Language :: Python :: 3.9
44
+ Classifier: Programming Language :: Python :: 3.10
45
+ Classifier: Programming Language :: Python :: 3.11
46
+ Requires-Python: >=3.8
47
+ Description-Content-Type: text/markdown
48
+ License-File: LICENSE
49
+ Requires-Dist: asyncpg
50
+ Requires-Dist: aiofiles
51
+ Requires-Dist: boto3
52
+ Requires-Dist: pyliftover
53
+ Requires-Dist: polars
54
+ Requires-Dist: hgvs
55
+ Requires-Dist: biocommons.seqrepo
56
+ Requires-Dist: pydantic ==2.*
57
+ Requires-Dist: uvicorn
58
+ Requires-Dist: fastapi
59
+ Requires-Dist: ga4gh.vrs
60
+ Provides-Extra: dev
61
+ Requires-Dist: pre-commit ; extra == 'dev'
62
+ Requires-Dist: ipython ; extra == 'dev'
63
+ Requires-Dist: ipykernel ; extra == 'dev'
64
+ Requires-Dist: psycopg2-binary ; extra == 'dev'
65
+ Requires-Dist: ruff ; extra == 'dev'
66
+ Provides-Extra: docs
67
+ Requires-Dist: sphinx ==6.1.3 ; extra == 'docs'
68
+ Requires-Dist: sphinx-autodoc-typehints ==1.22.0 ; extra == 'docs'
69
+ Requires-Dist: sphinx-autobuild ==2021.3.14 ; extra == 'docs'
70
+ Requires-Dist: sphinx-copybutton ==0.5.2 ; extra == 'docs'
71
+ Requires-Dist: sphinxext-opengraph ==0.8.2 ; extra == 'docs'
72
+ Requires-Dist: furo ==2023.3.27 ; extra == 'docs'
73
+ Provides-Extra: tests
74
+ Requires-Dist: pytest ; extra == 'tests'
75
+ Requires-Dist: pytest-cov ; extra == 'tests'
76
+ Requires-Dist: pytest-asyncio ==0.18.3 ; extra == 'tests'
77
+ Requires-Dist: mock ; extra == 'tests'
78
+
79
+ <h1 align="center">
80
+ CoolSeqTool
81
+ </h1>
82
+
83
+ **[Documentation](https://coolseqtool.readthedocs.io/en/latest/)** · [Installation](https://coolseqtool.readthedocs.io/en/latest/install.html) · [Usage](https://coolseqtool.readthedocs.io/en/latest/usage.html) · [API reference](https://coolseqtool.readthedocs.io/en/latest/reference/index.html)
84
+
85
+ ## Overview
86
+
87
+ <!-- description -->
88
+ The **CoolSeqTool** provides:
89
+
90
+ - 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 the [Universal Transcript Archive](https://github.com/biocommons/uta)
91
+ - Augmented access to the [SeqRepo](https://github.com/biocommons/biocommons.seqrepo) database, including multiple additional methods and tools
92
+ - Mapping tools that combine the above to support translation between references sequences, annotation layers, and MANE transcripts
93
+ <!-- /description -->
94
+
95
+ ---
96
+
97
+ ## Install
98
+
99
+ CoolSeqTool is available on [PyPI](https://pypi.org/project/cool-seq-tool)
100
+
101
+ ```shell
102
+ python3 -m pip install cool-seq-tool
103
+ ```
104
+
105
+ See the [installation instructions](https://coolseqtool.readthedocs.io/en/latest/install.html) in the documentation for a description of dependency setup requirements.
106
+
107
+ ---
108
+
109
+ ## Usage
110
+
111
+ All CoolSeqTool resources can be initialized by way of a top-level class instance:
112
+
113
+ ```pycon
114
+ >>> from cool_seq_tool.app import CoolSeqTool
115
+ >>> cst = CoolSeqTool()
116
+ >>> result = await cst.mane_transcript.get_mane_transcript(
117
+ ... "NP_004324.2",
118
+ ... 599,
119
+ ... AnnotationLayer.PROTEIN,
120
+ ... residue_mode=ResidueMode.INTER_RESIDUE,
121
+ ... )
122
+ >>> result.gene, result.refseq, result.status
123
+ ('EGFR', 'NM_005228.5', <TranscriptPriority.MANE_SELECT: 'mane_select'>)
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Feedback and contributing
129
+
130
+ We welcome bug reports, feature requests, and code contributions from users and interested collaborators. The [documentation](https://coolseqtool.readthedocs.io/en/latest/contributing.html) contains guidance for submitting feedback and contributing new code.
@@ -0,0 +1,29 @@
1
+ cool_seq_tool/__init__.py,sha256=eBycAZIAJBCf51xQLQYHzvUep1i21LMrzBdRLqfe-Fc,352
2
+ cool_seq_tool/api.py,sha256=3Pc0j0pHMZ_3skTkjDlQpcu_MM6kyNPmBrwm_LrH-rw,1234
3
+ cool_seq_tool/app.py,sha256=3r2hlajW6xjf3u_Uf9WlqMfBEK-LnB74sG2UpJlj2bY,3757
4
+ cool_seq_tool/paths.py,sha256=7EA21Vmf9hvct0z_V4oK0WTWOA2FKY2Tavh4nAUXunk,889
5
+ cool_seq_tool/schemas.py,sha256=miroNMyC1i6I4OuMZwJ0WQq3dBhtvuYPsMevahWQI5k,15697
6
+ cool_seq_tool/utils.py,sha256=EkDFKh6allYu_BaODuosALECm8z64JiovXC8yHd2kHY,1583
7
+ cool_seq_tool/version.py,sha256=00BKrYQ_DDUCwzibwzXpM7JCXVp-i5tZlTE4r8vs2eA,57
8
+ cool_seq_tool/data/__init__.py,sha256=EAk0f_xeq1JAkRosLMiWWhEXku6lYfMZ63HR_6QxSqs,77
9
+ cool_seq_tool/data/data_downloads.py,sha256=Jlt9YYxkJdUuDwXmuRheZ7D4deArlYLQUNsr4CQwYNE,3747
10
+ cool_seq_tool/data/transcript_mapping.tsv,sha256=AO3luYQAbFiCoRgiiPXotakb5pAwx1jDCeXpvGdIuac,24138769
11
+ cool_seq_tool/handlers/__init__.py,sha256=xDQ84N4ImrUBKwGmrg64yGUMh0ArW-DwjJuTkKrIJL4,77
12
+ cool_seq_tool/handlers/seqrepo_access.py,sha256=JVkfMnRMiNtsZOqsXZYgGT6XhtXTti6qw7MINj3Rwmc,9065
13
+ cool_seq_tool/mappers/__init__.py,sha256=5aE6IRTG8SwOofFR19QHmK-1n2PaKwEPzFGNE0_HS3s,261
14
+ cool_seq_tool/mappers/alignment.py,sha256=htGb9rJab8dAKcMR62NF0uGc5l4KROrMcMAKfSQhva0,9620
15
+ cool_seq_tool/mappers/exon_genomic_coords.py,sha256=BH3BIEUOrccjtqVxlkl-LQt5f8BXCvFmCJfVfb5qgYI,30863
16
+ cool_seq_tool/mappers/mane_transcript.py,sha256=h7J4ip9HPhVvADqvWp5ZGT9257xymVkSJ3vj3YRzIws,49359
17
+ cool_seq_tool/routers/__init__.py,sha256=x00Dq0LzqYoBPbipmyexLbAMUb7Udx8DozfwT-mJo1E,436
18
+ cool_seq_tool/routers/default.py,sha256=F9NDKv7oiEz7Yk9BKAqhJxTBELpYLDhOqB8keRVtYkU,3937
19
+ cool_seq_tool/routers/mane.py,sha256=CKXAwIQOyfEhEiRCVMqzDesbijkUIFnvxx8mKPyxDXk,3547
20
+ cool_seq_tool/routers/mappings.py,sha256=I9hxriBlkv9vQp1l_17L-VxQSUJ9-IyLyqwXGue4axg,6091
21
+ cool_seq_tool/sources/__init__.py,sha256=lERBM8cOqlJhYqz_DwOMV5FsWvMvQMbU1KQBxx_cz6M,303
22
+ cool_seq_tool/sources/mane_transcript_mappings.py,sha256=Bah16WhfBk3Def3ehYvccR13lO90f8Bib8rj8zbszVs,3753
23
+ cool_seq_tool/sources/transcript_mappings.py,sha256=Gz1PCf54RDApY5QfZqP8vm4iHCHLv-Ar4cy5Dj4cAe4,9797
24
+ cool_seq_tool/sources/uta_database.py,sha256=DYAH0oxxURyRbeRLlD3AQOi4BiTIlZbzsI05Lt6x68Y,44007
25
+ cool_seq_tool-0.4.0.dev1.dist-info/LICENSE,sha256=1jbnPcw_qmlDZyD_E_ebjWwjIvBgOD-1biodvBtSl1U,1072
26
+ cool_seq_tool-0.4.0.dev1.dist-info/METADATA,sha256=8wTeGZAxB0D2bebhpIvdp05_ehWLEnV62po7ugBCJY0,5658
27
+ cool_seq_tool-0.4.0.dev1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
28
+ cool_seq_tool-0.4.0.dev1.dist-info/top_level.txt,sha256=cGuxdN6p3y16jQf6hCwWhE4OptwUeZPm_PNJlPb3b0k,14
29
+ cool_seq_tool-0.4.0.dev1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.2)
2
+ Generator: bdist_wheel (0.42.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,187 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: cool-seq-tool
3
- Version: 0.3.0.dev1
4
- Summary: Common Operations On Lots-of Sequences Tool.
5
- Home-page: https://github.com/GenomicMedLab/cool-seq-tool
6
- Author: Wagner Lab, Nationwide Childrens Hospital
7
- License: MIT
8
- Requires-Python: >=3.8
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: asyncpg
12
- Requires-Dist: aiofiles
13
- Requires-Dist: boto3
14
- Requires-Dist: pyliftover
15
- Requires-Dist: polars
16
- Requires-Dist: hgvs
17
- Requires-Dist: biocommons.seqrepo
18
- Requires-Dist: pydantic ==2.*
19
- Requires-Dist: uvicorn
20
- Requires-Dist: fastapi
21
- Requires-Dist: ga4gh.vrs
22
- Provides-Extra: dev
23
- Requires-Dist: pre-commit ; extra == 'dev'
24
- Requires-Dist: ipython ; extra == 'dev'
25
- Requires-Dist: ipykernel ; extra == 'dev'
26
- Requires-Dist: psycopg2-binary ; extra == 'dev'
27
- Requires-Dist: ruff ; extra == 'dev'
28
- Requires-Dist: black ; extra == 'dev'
29
- Provides-Extra: tests
30
- Requires-Dist: pytest ; extra == 'tests'
31
- Requires-Dist: pytest-cov ; extra == 'tests'
32
- Requires-Dist: pytest-asyncio ==0.18.3 ; extra == 'tests'
33
- Requires-Dist: mock ; extra == 'tests'
34
-
35
- # **C**ommon **O**perations **O**n **L**ots-of **Seq**uences Tool
36
-
37
- The **cool-seq-tool** provides:
38
-
39
- - Transcript alignment data from the [UTA](https://github.com/biocommons/uta) database
40
- - Fast access to sequence data using [SeqRepo](https://github.com/biocommons/biocommons.seqrepo)
41
- - Liftover between assemblies (GRCh38 <--> GRCh37) from [PyLiftover](https://github.com/konstantint/pyliftover)
42
- - Lifting over to preferred [MANE](https://www.ncbi.nlm.nih.gov/refseq/MANE/) compatible transcript. See [here](docs/TranscriptSelectionPriority.md) for more information.
43
-
44
- ## Installation
45
-
46
- ### pip
47
-
48
- ```commandline
49
- pip install cool-seq-tool[dev,tests]
50
- ```
51
-
52
- ### Development
53
-
54
- Clone the repo:
55
-
56
- ```commandline
57
- git clone https://github.com/GenomicMedLab/cool-seq-tool
58
- cd cool_seq_tool
59
- ```
60
-
61
- [Install Pipenv](https://pipenv-fork.readthedocs.io/en/latest/#install-pipenv-today) if necessary.
62
-
63
- Install backend dependencies and enter Pipenv environment:
64
-
65
- ```commandline
66
- pipenv shell
67
- pipenv update
68
- pipenv install --dev
69
- ```
70
-
71
- ### UTA Database Installation
72
-
73
- `cool-seq-tool` uses intalls local UTA database. For other ways to install, visit [biocommons.uta](https://github.com/biocommons/uta).
74
-
75
- #### Local Installation
76
-
77
- _The following commands will likely need modification appropriate for the installation environment._
78
- 1. Install [PostgreSQL](https://www.postgresql.org/)
79
- 2. Create user and database.
80
-
81
- ```
82
- $ createuser -U postgres uta_admin
83
- $ createuser -U postgres anonymous
84
- $ createdb -U postgres -O uta_admin uta
85
- ```
86
-
87
- 3. To install locally, from the _cool_seq_tool/data_ directory:
88
- ```
89
- export UTA_VERSION=uta_20210129.pgd.gz
90
- curl -O http://dl.biocommons.org/uta/$UTA_VERSION
91
- gzip -cdq ${UTA_VERSION} | grep -v "^REFRESH MATERIALIZED VIEW" | psql -h localhost -U uta_admin --echo-errors --single-transaction -v ON_ERROR_STOP=1 -d uta -p 5433
92
- ```
93
-
94
- ##### UTA Installation Issues
95
- If you have trouble installing UTA, you can visit [these two READMEs](https://github.com/ga4gh/vrs-python/tree/main/docs/setup_help).
96
-
97
- #### Connecting to the database
98
-
99
- To connect to the UTA database, you can use the default url (`postgresql://uta_admin:uta@localhost:5433/uta/uta_20210129`).
100
-
101
- If you do not wish to use the default, you must set the environment variable `UTA_DB_URL` which has the format of `driver://user:password@host:port/database/schema`.
102
-
103
- ### Data Downloads
104
-
105
- #### SeqRepo
106
- `cool-seq-tool` relies on [seqrepo](https://github.com/biocommons/biocommons.seqrepo), which you must download yourself.
107
-
108
- Use the `SEQREPO_ROOT_DIR` environment variable to set the path of an already existing SeqRepo directory. The default is `/usr/local/share/seqrepo/latest`.
109
-
110
- From the _root_ directory:
111
- ```
112
- pip install seqrepo
113
- sudo mkdir /usr/local/share/seqrepo
114
- sudo chown $USER /usr/local/share/seqrepo
115
- seqrepo pull -i 2021-01-29 # Replace with latest version using `seqrepo list-remote-instances` if outdated
116
- ```
117
-
118
- If you get an error similar to the one below:
119
- ```
120
- PermissionError: [Error 13] Permission denied: '/usr/local/share/seqrepo/2021-01-29._fkuefgd' -> '/usr/local/share/seqrepo/2021-01-29'
121
- ```
122
-
123
- You will want to do the following:\
124
- (*Might not be ._fkuefgd, so replace with your error message path*)
125
- ```console
126
- sudo mv /usr/local/share/seqrepo/2021-01-29._fkuefgd /usr/local/share/seqrepo/2021-01-29
127
- exit
128
- ```
129
-
130
- #### LRG_RefSeqGene
131
-
132
- `cool-seq-tool` fetches the latest version of `LRG_RefSeqGene` if the environment variable `LRG_REFSEQGENE_PATH` is not set. When `LRG_REFSEQGENE_PATH` is set, `cool-seq-tool` will look at this path and expect the LRG_RefSeqGene file. This file is found can be found [here](https://ftp.ncbi.nlm.nih.gov/refseq/H_sapiens/RefSeqGene).
133
-
134
- #### MANE Summary Data
135
-
136
- `cool-seq-tool` fetches the latest version of `MANE.GRCh38.*.summary.txt.gz` if the environment variable `MANE_SUMMARY_PATH` is not set. When `MANE_SUMMARY_PATH` is set, `cool-seq-tool` will look at this path and expect the MANE Summary Data file. This file is found can be found [here](https://ftp.ncbi.nlm.nih.gov/refseq/MANE/MANE_human/current/).
137
-
138
- #### transcript_mapping.tsv
139
- `cool-seq-tool` is packaged with transcript mapping data acquired from [Ensembl BioMart](http://www.ensembl.org/biomart/martview). If the environment variable `TRANSCRIPT_MAPPINGS_PATH` is not set, `cool-seq-tool` will use the built-in file. When `TRANSCRIPT_MAPPINGS_PATH` is set, `cool_seq_tool` will look at this path and expect to find the transcript mapping TSV file.
140
-
141
- To acquire this data manually from the [BioMart](https://www.ensembl.org/biomart/martview), select the `Human Genes (GRCh38.p13)` dataset and choose the following attributes:
142
-
143
- * Gene stable ID
144
- * Gene stable ID version
145
- * Transcript stable ID
146
- * Transcript stable ID version
147
- * Protein stable ID
148
- * Protein stable ID version
149
- * RefSeq match transcript (MANE Select)
150
- * Gene name
151
-
152
- ![image](biomart.png)
153
-
154
- ## Starting the UTA Tools Service Locally
155
-
156
- To start the service, run the following:
157
-
158
- ```commandline
159
- uvicorn cool_seq_tool.api:app --reload
160
- ```
161
-
162
- Next, view the FastAPI on your local machine: http://127.0.0.1:8000/cool_seq_tool
163
-
164
- ## Init coding style tests
165
-
166
- Code style is managed by [Ruff](https://github.com/astral-sh/ruff) and [Black](https://github.com/psf/black), and should be checked prior to commit.
167
-
168
- We use [pre-commit](https://pre-commit.com/#usage) to run conformance tests.
169
-
170
- This ensures:
171
-
172
- * Check code style
173
- * Check for added large files
174
- * Detect AWS Credentials
175
- * Detect Private Key
176
-
177
- Before first commit run:
178
-
179
- ```
180
- pre-commit install
181
- ```
182
-
183
- ## Testing
184
- From the _root_ directory of the repository:
185
- ```
186
- pytest
187
- ```
@@ -1,29 +0,0 @@
1
- cool_seq_tool/__init__.py,sha256=eBycAZIAJBCf51xQLQYHzvUep1i21LMrzBdRLqfe-Fc,352
2
- cool_seq_tool/api.py,sha256=Zx_HO7aLCQI5g9P0IQkVSUOLt7kUOFGXoibYCU6oits,1248
3
- cool_seq_tool/app.py,sha256=rkRq7pUiCOcz6hXXRxXmTCwj1z-fU4KiF5HK7Btf0DU,2434
4
- cool_seq_tool/paths.py,sha256=7EA21Vmf9hvct0z_V4oK0WTWOA2FKY2Tavh4nAUXunk,889
5
- cool_seq_tool/schemas.py,sha256=Xugda7yguRokwpqRRA7T899yC0ONCiiZqKPy58IpM_U,15299
6
- cool_seq_tool/utils.py,sha256=U0Pqjs14B0XoAjFfhUfN7D4bHZXapG33xhk48B5lrtU,1471
7
- cool_seq_tool/version.py,sha256=Rtff5MASmdLfe5Gz71WkcPjn6v3k7JH2O_Ooom_-Yw4,57
8
- cool_seq_tool/data/__init__.py,sha256=EAk0f_xeq1JAkRosLMiWWhEXku6lYfMZ63HR_6QxSqs,77
9
- cool_seq_tool/data/data_downloads.py,sha256=mMURyb6E5KXYw3VQ-YuVkZGobXuGfsqyfuwQfZs9wrk,3473
10
- cool_seq_tool/data/transcript_mapping.tsv,sha256=AO3luYQAbFiCoRgiiPXotakb5pAwx1jDCeXpvGdIuac,24138769
11
- cool_seq_tool/handlers/__init__.py,sha256=xDQ84N4ImrUBKwGmrg64yGUMh0ArW-DwjJuTkKrIJL4,77
12
- cool_seq_tool/handlers/seqrepo_access.py,sha256=z1dG2qiPgeR-1GnOi11b5cN9tFIXVPg6G4oBfCDXIko,7554
13
- cool_seq_tool/mappers/__init__.py,sha256=F85y9PKtpqCTrdDgWMHYO5Z8QG0ZsFDD_7JK2vnELKU,184
14
- cool_seq_tool/mappers/alignment.py,sha256=ZalYocD7t7O-PHKs6_upgAZ607GsszePduvru0Ruq18,9734
15
- cool_seq_tool/mappers/exon_genomic_coords.py,sha256=PnVZwCu3ybTGwlW6zzPQ-ufrxRyPhn7_GCS8e_jVZ3w,22624
16
- cool_seq_tool/mappers/mane_transcript.py,sha256=41wmJSgz53fugWLTSsB8YtNYIAZR7Yrr5Wq4VOAkRwc,42699
17
- cool_seq_tool/routers/__init__.py,sha256=x00Dq0LzqYoBPbipmyexLbAMUb7Udx8DozfwT-mJo1E,436
18
- cool_seq_tool/routers/default.py,sha256=F9NDKv7oiEz7Yk9BKAqhJxTBELpYLDhOqB8keRVtYkU,3937
19
- cool_seq_tool/routers/mane.py,sha256=dcB1GLIxi9H2c6rFHoF39heCIfQyRvSZf1riEyaDbTo,3547
20
- cool_seq_tool/routers/mappings.py,sha256=XBv2OyJ8uwkt2rpCWhBf1ZuxJRAHUftFcy8vGaHf0PM,6105
21
- cool_seq_tool/sources/__init__.py,sha256=s8Zx-W_eUhxiHGYbEwuKt_V_xkDc8UjUIcRGJtyWhdM,228
22
- cool_seq_tool/sources/mane_transcript_mappings.py,sha256=LrTMI17cBzaeXLRzFoaKXcz_QQZdmtTWEjVZEBXR1Jo,2846
23
- cool_seq_tool/sources/transcript_mappings.py,sha256=CQWqo_36gnH1n75qG_n4a3CABCHngGXO3ma6MUIuJUc,9011
24
- cool_seq_tool/sources/uta_database.py,sha256=MTPOYUmzK8KZPsOdCuYu1qsW0vmNs2VrZx9nIocavo4,45585
25
- cool_seq_tool-0.3.0.dev1.dist-info/LICENSE,sha256=q5ROz8j71Y0buub1pr-xaORSENWXKGyA76fRjKjKxHU,1061
26
- cool_seq_tool-0.3.0.dev1.dist-info/METADATA,sha256=_qg8PRPI6nC8jx9PlpvoBzIXUeFAQ-GUcXXmkLkiSew,6620
27
- cool_seq_tool-0.3.0.dev1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
28
- cool_seq_tool-0.3.0.dev1.dist-info/top_level.txt,sha256=cGuxdN6p3y16jQf6hCwWhE4OptwUeZPm_PNJlPb3b0k,14
29
- cool_seq_tool-0.3.0.dev1.dist-info/RECORD,,