cool-seq-tool 0.4.0.dev3__tar.gz → 0.5.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.5.0/.coveragerc +7 -0
- cool_seq_tool-0.5.0/.github/ISSUE_TEMPLATE/bug-report.yaml +85 -0
- cool_seq_tool-0.5.0/.github/ISSUE_TEMPLATE/feature-request.yaml +60 -0
- cool_seq_tool-0.5.0/.github/workflows/checks.yaml +58 -0
- cool_seq_tool-0.5.0/.github/workflows/close_issue.yml +18 -0
- cool_seq_tool-0.5.0/.github/workflows/pr-priority-label.yaml +23 -0
- cool_seq_tool-0.5.0/.github/workflows/release.yml +50 -0
- cool_seq_tool-0.5.0/.github/workflows/stale.yaml +28 -0
- cool_seq_tool-0.5.0/.gitignore +137 -0
- cool_seq_tool-0.5.0/.pre-commit-config.yaml +14 -0
- cool_seq_tool-0.5.0/.readthedocs.yaml +16 -0
- cool_seq_tool-0.5.0/CITATION.cff +12 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/LICENSE +1 -1
- {cool_seq_tool-0.4.0.dev3/src/cool_seq_tool.egg-info → cool_seq_tool-0.5.0}/PKG-INFO +16 -11
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/README.md +7 -0
- cool_seq_tool-0.5.0/docs/Makefile +20 -0
- cool_seq_tool-0.5.0/docs/make.bat +35 -0
- cool_seq_tool-0.5.0/docs/source/_static/img/biomart.png +0 -0
- cool_seq_tool-0.5.0/docs/source/_templates/module_summary.rst +7 -0
- cool_seq_tool-0.5.0/docs/source/changelog.rst +7 -0
- cool_seq_tool-0.5.0/docs/source/conf.py +102 -0
- cool_seq_tool-0.5.0/docs/source/contributing.rst +87 -0
- cool_seq_tool-0.5.0/docs/source/index.rst +39 -0
- cool_seq_tool-0.5.0/docs/source/install.rst +92 -0
- cool_seq_tool-0.5.0/docs/source/license.rst +4 -0
- cool_seq_tool-0.5.0/docs/source/reference/index.rst +70 -0
- cool_seq_tool-0.5.0/docs/source/transcript_selection.rst +35 -0
- cool_seq_tool-0.5.0/docs/source/usage.rst +92 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/pyproject.toml +28 -18
- cool_seq_tool-0.5.0/src/cool_seq_tool/__init__.py +10 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/app.py +44 -24
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/handlers/__init__.py +1 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/handlers/seqrepo_access.py +27 -25
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/mappers/__init__.py +3 -1
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/mappers/alignment.py +5 -6
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/mappers/exon_genomic_coords.py +139 -124
- cool_seq_tool-0.5.0/src/cool_seq_tool/mappers/liftover.py +90 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/mappers/mane_transcript.py +208 -113
- cool_seq_tool-0.5.0/src/cool_seq_tool/resources/__init__.py +1 -0
- cool_seq_tool-0.5.0/src/cool_seq_tool/resources/data_files.py +93 -0
- cool_seq_tool-0.5.0/src/cool_seq_tool/resources/status.py +153 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/schemas.py +92 -54
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/sources/__init__.py +1 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/sources/mane_transcript_mappings.py +16 -9
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/sources/transcript_mappings.py +41 -32
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/sources/uta_database.py +96 -249
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/utils.py +44 -4
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0/src/cool_seq_tool.egg-info}/PKG-INFO +16 -11
- cool_seq_tool-0.5.0/src/cool_seq_tool.egg-info/SOURCES.txt +61 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool.egg-info/requires.txt +4 -4
- cool_seq_tool-0.5.0/tests/conftest.py +123 -0
- cool_seq_tool-0.5.0/tests/handlers/test_seqrepo_access.py +331 -0
- cool_seq_tool-0.5.0/tests/mappers/test_alignment.py +337 -0
- cool_seq_tool-0.5.0/tests/mappers/test_exon_genomic_coords.py +1161 -0
- cool_seq_tool-0.5.0/tests/mappers/test_liftover.py +22 -0
- cool_seq_tool-0.5.0/tests/mappers/test_mane_transcript.py +918 -0
- cool_seq_tool-0.5.0/tests/sources/test_mane_transcript_mappings.py +203 -0
- cool_seq_tool-0.5.0/tests/sources/test_uta_database.py +366 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/tests/test_utils.py +1 -0
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/__init__.py +0 -14
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/api.py +0 -42
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/data/__init__.py +0 -2
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/data/data_downloads.py +0 -89
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/paths.py +0 -28
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/routers/__init__.py +0 -16
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/routers/default.py +0 -125
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/routers/mane.py +0 -98
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/routers/mappings.py +0 -155
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/version.py +0 -2
- cool_seq_tool-0.4.0.dev3/src/cool_seq_tool.egg-info/SOURCES.txt +0 -33
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/setup.cfg +0 -0
- {cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/data → cool_seq_tool-0.5.0/src/cool_seq_tool/resources}/transcript_mapping.tsv +0 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool.egg-info/dependency_links.txt +0 -0
- {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool.egg-info/top_level.txt +0 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
name: Bug Report
|
2
|
+
description: Report a bug.
|
3
|
+
labels: ["bug"]
|
4
|
+
body:
|
5
|
+
- type: textarea
|
6
|
+
attributes:
|
7
|
+
label: Describe the bug
|
8
|
+
description: Provide a clear and concise description of what the bug is.
|
9
|
+
validations:
|
10
|
+
required: true
|
11
|
+
- type: textarea
|
12
|
+
attributes:
|
13
|
+
label: Steps to reproduce
|
14
|
+
description: Provide detailed steps to replicate the bug.
|
15
|
+
placeholder: |
|
16
|
+
1. In this environment...
|
17
|
+
2. With this config...
|
18
|
+
3. Run '...'
|
19
|
+
4. See error...
|
20
|
+
validations:
|
21
|
+
required: true
|
22
|
+
- type: textarea
|
23
|
+
attributes:
|
24
|
+
label: Expected behavior
|
25
|
+
description: What did you expect to happen?
|
26
|
+
validations:
|
27
|
+
required: true
|
28
|
+
- type: textarea
|
29
|
+
attributes:
|
30
|
+
label: Current behavior
|
31
|
+
description: |
|
32
|
+
What actually happened?
|
33
|
+
|
34
|
+
Include full errors, stack traces, and/or relevant logs.
|
35
|
+
validations:
|
36
|
+
required: true
|
37
|
+
- type: textarea
|
38
|
+
attributes:
|
39
|
+
label: Possible reason(s)
|
40
|
+
description: Provide any insights into what might be causing the issue.
|
41
|
+
validations:
|
42
|
+
required: false
|
43
|
+
- type: textarea
|
44
|
+
attributes:
|
45
|
+
label: Suggested fix
|
46
|
+
description: Provide any suggestions on how to resolve the bug.
|
47
|
+
validations:
|
48
|
+
required: false
|
49
|
+
- type: textarea
|
50
|
+
attributes:
|
51
|
+
label: Branch, commit, and/or version
|
52
|
+
description: Provide the branch, commit, and/or version you're using.
|
53
|
+
placeholder: |
|
54
|
+
branch: issue-1
|
55
|
+
commit: abc123d
|
56
|
+
validations:
|
57
|
+
required: true
|
58
|
+
- type: textarea
|
59
|
+
attributes:
|
60
|
+
label: Screenshots
|
61
|
+
description: If applicable, add screenshots with descriptions to help explain your problem.
|
62
|
+
validations:
|
63
|
+
required: false
|
64
|
+
- type: textarea
|
65
|
+
attributes:
|
66
|
+
label: Environment details
|
67
|
+
description: Provide environment details (OS name and version, etc).
|
68
|
+
validations:
|
69
|
+
required: true
|
70
|
+
- type: textarea
|
71
|
+
attributes:
|
72
|
+
label: Additional details
|
73
|
+
description: Provide any other additional details about the problem.
|
74
|
+
validations:
|
75
|
+
required: false
|
76
|
+
- type: dropdown
|
77
|
+
attributes:
|
78
|
+
label: Contribution
|
79
|
+
description: Can you contribute to the development of this feature?
|
80
|
+
options:
|
81
|
+
- "Yes, I can create a PR for this fix."
|
82
|
+
- "Yes, but I can only provide ideas and feedback."
|
83
|
+
- "No, I cannot contribute."
|
84
|
+
validations:
|
85
|
+
required: false
|
@@ -0,0 +1,60 @@
|
|
1
|
+
name: Feature Request
|
2
|
+
description: Suggest an idea for this project.
|
3
|
+
labels: ["enhancement"]
|
4
|
+
body:
|
5
|
+
- type: textarea
|
6
|
+
attributes:
|
7
|
+
label: Feature description
|
8
|
+
description: Provide a clear and concise description of what you want to happen.
|
9
|
+
validations:
|
10
|
+
required: true
|
11
|
+
- type: textarea
|
12
|
+
attributes:
|
13
|
+
label: Use case
|
14
|
+
description: |
|
15
|
+
Why do you need this feature? For example: "I'm always frustrated when..."
|
16
|
+
validations:
|
17
|
+
required: true
|
18
|
+
- type: textarea
|
19
|
+
attributes:
|
20
|
+
label: Proposed solution
|
21
|
+
description: Provide proposed solution.
|
22
|
+
validations:
|
23
|
+
required: false
|
24
|
+
- type: textarea
|
25
|
+
attributes:
|
26
|
+
label: Alternatives considered
|
27
|
+
description: Describe any alternative solutions you've considered.
|
28
|
+
validations:
|
29
|
+
required: false
|
30
|
+
- type: textarea
|
31
|
+
attributes:
|
32
|
+
label: Implementation details
|
33
|
+
description: Provide any technical details on how the feature might be implemented.
|
34
|
+
validations:
|
35
|
+
required: false
|
36
|
+
- type: textarea
|
37
|
+
attributes:
|
38
|
+
label: Potential Impact
|
39
|
+
description: |
|
40
|
+
Discuss any potential impacts of this feature on existing functionality or performance, if known.
|
41
|
+
Will this feature cause breaking changes?
|
42
|
+
What challenges might arise?
|
43
|
+
validations:
|
44
|
+
required: false
|
45
|
+
- type: textarea
|
46
|
+
attributes:
|
47
|
+
label: Additional context
|
48
|
+
description: Provide any other context or screenshots about the feature.
|
49
|
+
validations:
|
50
|
+
required: false
|
51
|
+
- type: dropdown
|
52
|
+
attributes:
|
53
|
+
label: Contribution
|
54
|
+
description: Can you contribute to the development of this feature?
|
55
|
+
options:
|
56
|
+
- "Yes, I can create a PR for this feature."
|
57
|
+
- "Yes, but I can only provide ideas and feedback."
|
58
|
+
- "No, I cannot contribute."
|
59
|
+
validations:
|
60
|
+
required: false
|
@@ -0,0 +1,58 @@
|
|
1
|
+
name: checks
|
2
|
+
on: [push, pull_request]
|
3
|
+
jobs:
|
4
|
+
deps:
|
5
|
+
name: deps py${{ matrix.python-version }}
|
6
|
+
runs-on: ubuntu-latest
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
python-version: ["3.10", "3.11", "3.12"]
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v3
|
13
|
+
|
14
|
+
- name: Set up Python ${{ matrix.python-version }}
|
15
|
+
uses: actions/setup-python@v4
|
16
|
+
with:
|
17
|
+
python-version: ${{ matrix.python-version }}
|
18
|
+
|
19
|
+
- name: Install dependencies
|
20
|
+
run: |
|
21
|
+
python3 -m pip install pipenv
|
22
|
+
pipenv install --dev
|
23
|
+
lint:
|
24
|
+
runs-on: ubuntu-latest
|
25
|
+
steps:
|
26
|
+
- uses: actions/checkout@v3
|
27
|
+
|
28
|
+
- name: Set up Python
|
29
|
+
uses: actions/setup-python@v4
|
30
|
+
with:
|
31
|
+
python-version: 3.11
|
32
|
+
|
33
|
+
- name: Install dependencies
|
34
|
+
run: python3 -m pip install ".[dev]"
|
35
|
+
|
36
|
+
- name: Check style
|
37
|
+
run: python3 -m ruff check . && python3 -m ruff format --check .
|
38
|
+
|
39
|
+
docs:
|
40
|
+
runs-on: ubuntu-latest
|
41
|
+
env:
|
42
|
+
SPHINX_GITHUB_CHANGELOG_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
43
|
+
steps:
|
44
|
+
- uses: actions/checkout@v3
|
45
|
+
|
46
|
+
- name: Set up Python
|
47
|
+
uses: actions/setup-python@v4
|
48
|
+
with:
|
49
|
+
python-version: 3.11
|
50
|
+
|
51
|
+
- name: Install dependencies
|
52
|
+
run: |
|
53
|
+
python3 -m pip install --upgrade pip
|
54
|
+
python3 -m pip install '.[docs]'
|
55
|
+
|
56
|
+
- name: Attempt docs build
|
57
|
+
working-directory: ./docs
|
58
|
+
run: make html
|
@@ -0,0 +1,18 @@
|
|
1
|
+
name: Close issues related to a merged pull request based on staging branch.
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
types: [closed]
|
6
|
+
branches:
|
7
|
+
- staging
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
closeIssueOnPrMergeTrigger:
|
11
|
+
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
|
14
|
+
steps:
|
15
|
+
- name: Closes issues related to a merged pull request.
|
16
|
+
uses: ldez/gha-mjolnir@v1.0.3
|
17
|
+
env:
|
18
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
name: Pull Request Has Priority Label
|
2
|
+
on:
|
3
|
+
pull_request:
|
4
|
+
types: [opened, labeled, unlabeled, synchronize]
|
5
|
+
jobs:
|
6
|
+
pr-priority-label:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
permissions:
|
9
|
+
issues: write
|
10
|
+
pull-requests: write
|
11
|
+
outputs:
|
12
|
+
status: ${{ steps.check-labels.outputs.status }}
|
13
|
+
steps:
|
14
|
+
- id: check-labels
|
15
|
+
uses: mheap/github-action-required-labels@v5
|
16
|
+
with:
|
17
|
+
mode: exactly
|
18
|
+
count: 1
|
19
|
+
labels: "priority:*"
|
20
|
+
use_regex: true
|
21
|
+
add_comment: true
|
22
|
+
message: "PRs require a priority label. Please add one."
|
23
|
+
exit_type: failure
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
|
2
|
+
name: Publish Python distribution to PyPI
|
3
|
+
|
4
|
+
on:
|
5
|
+
release:
|
6
|
+
types: [created]
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
build:
|
10
|
+
name: Build distribution
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v4
|
15
|
+
- name: Set up Python
|
16
|
+
uses: actions/setup-python@v4
|
17
|
+
with:
|
18
|
+
python-version: "3.x"
|
19
|
+
- name: Install pypa/build
|
20
|
+
run: >-
|
21
|
+
python3 -m
|
22
|
+
pip install
|
23
|
+
build
|
24
|
+
--user
|
25
|
+
- name: Build a binary wheel and a source tarball
|
26
|
+
run: python3 -m build
|
27
|
+
- name: Store the distribution packages
|
28
|
+
uses: actions/upload-artifact@v3
|
29
|
+
with:
|
30
|
+
name: python-package-distributions
|
31
|
+
path: dist/
|
32
|
+
publish-to-pypi:
|
33
|
+
name: >-
|
34
|
+
Publish Python distribution to PyPI
|
35
|
+
needs:
|
36
|
+
- build
|
37
|
+
runs-on: ubuntu-latest
|
38
|
+
environment:
|
39
|
+
name: pypi
|
40
|
+
url: https://pypi.org/p/cool-seq-tool
|
41
|
+
permissions:
|
42
|
+
id-token: write # IMPORTANT: mandatory for trusted publishing
|
43
|
+
steps:
|
44
|
+
- name: Download all the dists
|
45
|
+
uses: actions/download-artifact@v3
|
46
|
+
with:
|
47
|
+
name: python-package-distributions
|
48
|
+
path: dist/
|
49
|
+
- name: Publish distribution to PyPI
|
50
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
@@ -0,0 +1,28 @@
|
|
1
|
+
name: "Stalebot for issues and PRs"
|
2
|
+
|
3
|
+
on:
|
4
|
+
schedule:
|
5
|
+
- cron: "30 13 * * *"
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
stale:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
permissions:
|
11
|
+
issues: write
|
12
|
+
pull-requests: write
|
13
|
+
steps:
|
14
|
+
- uses: actions/stale@v9
|
15
|
+
with:
|
16
|
+
remove-stale-when-updated: true
|
17
|
+
days-before-close: 14
|
18
|
+
|
19
|
+
days-before-issue-stale: 60
|
20
|
+
stale-issue-label: stale
|
21
|
+
stale-issue-message: "This issue is stale because it has been open 45 days with no activity. Please make a comment for triaging or closing the issue."
|
22
|
+
close-issue-label: closed-by-stale
|
23
|
+
close-issue-message: "This issue was closed because it has been stalled for 14 days with no activity."
|
24
|
+
|
25
|
+
days-before-pr-stale: 7
|
26
|
+
stale-pr-label: stale
|
27
|
+
stale-pr-message: "This PR is stale because it has been open 7 days with no activity. Please review this PR."
|
28
|
+
days-before-pr-close: -1
|
@@ -0,0 +1,137 @@
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
2
|
+
__pycache__/
|
3
|
+
*.py[cod]
|
4
|
+
*$py.class
|
5
|
+
|
6
|
+
# C extensions
|
7
|
+
*.so
|
8
|
+
|
9
|
+
# Distribution / packaging
|
10
|
+
.Python
|
11
|
+
build/
|
12
|
+
develop-eggs/
|
13
|
+
dist/
|
14
|
+
downloads/
|
15
|
+
eggs/
|
16
|
+
.eggs/
|
17
|
+
lib/
|
18
|
+
lib64/
|
19
|
+
parts/
|
20
|
+
sdist/
|
21
|
+
var/
|
22
|
+
wheels/
|
23
|
+
pip-wheel-metadata/
|
24
|
+
share/python-wheels/
|
25
|
+
*.egg-info/
|
26
|
+
.installed.cfg
|
27
|
+
*.egg
|
28
|
+
MANIFEST
|
29
|
+
|
30
|
+
# PyInstaller
|
31
|
+
# Usually these files are written by a python script from a template
|
32
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
33
|
+
*.manifest
|
34
|
+
*.spec
|
35
|
+
|
36
|
+
# Installer logs
|
37
|
+
pip-log.txt
|
38
|
+
pip-delete-this-directory.txt
|
39
|
+
|
40
|
+
# Unit test / coverage reports
|
41
|
+
htmlcov/
|
42
|
+
.tox/
|
43
|
+
.nox/
|
44
|
+
.coverage
|
45
|
+
.coverage.*
|
46
|
+
.cache
|
47
|
+
nosetests.xml
|
48
|
+
coverage.xml
|
49
|
+
*.cover
|
50
|
+
*.py,cover
|
51
|
+
.hypothesis/
|
52
|
+
.pytest_cache/
|
53
|
+
|
54
|
+
# Translations
|
55
|
+
*.mo
|
56
|
+
*.pot
|
57
|
+
|
58
|
+
# Django stuff:
|
59
|
+
*.log
|
60
|
+
local_settings.py
|
61
|
+
db.sqlite3
|
62
|
+
db.sqlite3-journal
|
63
|
+
|
64
|
+
# Flask stuff:
|
65
|
+
instance/
|
66
|
+
.webassets-cache
|
67
|
+
|
68
|
+
# Scrapy stuff:
|
69
|
+
.scrapy
|
70
|
+
|
71
|
+
# Sphinx documentation
|
72
|
+
docs/build/
|
73
|
+
|
74
|
+
# PyBuilder
|
75
|
+
target/
|
76
|
+
|
77
|
+
# Jupyter Notebook
|
78
|
+
.ipynb_checkpoints
|
79
|
+
|
80
|
+
# IPython
|
81
|
+
profile_default/
|
82
|
+
ipython_config.py
|
83
|
+
|
84
|
+
# pyenv
|
85
|
+
.python-version
|
86
|
+
|
87
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
88
|
+
__pypackages__/
|
89
|
+
|
90
|
+
# Celery stuff
|
91
|
+
celerybeat-schedule
|
92
|
+
celerybeat.pid
|
93
|
+
|
94
|
+
# SageMath parsed files
|
95
|
+
*.sage.py
|
96
|
+
|
97
|
+
# Environments
|
98
|
+
.env
|
99
|
+
.venv
|
100
|
+
env/
|
101
|
+
venv/
|
102
|
+
ENV/
|
103
|
+
env.bak/
|
104
|
+
venv.bak/
|
105
|
+
|
106
|
+
# Spyder project settings
|
107
|
+
.spyderproject
|
108
|
+
.spyproject
|
109
|
+
|
110
|
+
# Rope project settings
|
111
|
+
.ropeproject
|
112
|
+
|
113
|
+
# mkdocs documentation
|
114
|
+
/site
|
115
|
+
|
116
|
+
# mypy
|
117
|
+
.mypy_cache/
|
118
|
+
.dmypy.json
|
119
|
+
dmypy.json
|
120
|
+
|
121
|
+
# Pyre type checker
|
122
|
+
.pyre/
|
123
|
+
|
124
|
+
.DS_Store
|
125
|
+
|
126
|
+
# Data files
|
127
|
+
src/cool_seq_tool/data/seqrepo/
|
128
|
+
src/cool_seq_tool/data/*.txt
|
129
|
+
src/cool_seq_tool/data/LRG_RefSeqGene*
|
130
|
+
src/cool_seq_tool/data/MANE*
|
131
|
+
src/cool_seq_tool/data/notebooks/
|
132
|
+
|
133
|
+
# Autogenerated docs
|
134
|
+
docs/source/reference/api
|
135
|
+
|
136
|
+
# Files created by doctests
|
137
|
+
tpm3.fasta
|
@@ -0,0 +1,14 @@
|
|
1
|
+
repos:
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
3
|
+
rev: v1.4.0
|
4
|
+
hooks:
|
5
|
+
- id: check-added-large-files
|
6
|
+
- id: detect-private-key
|
7
|
+
- id: trailing-whitespace
|
8
|
+
- id: end-of-file-fixer
|
9
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
10
|
+
rev: v0.5.0
|
11
|
+
hooks:
|
12
|
+
- id: ruff-format
|
13
|
+
- id: ruff
|
14
|
+
args: [ --fix, --exit-non-zero-on-fix ]
|
@@ -0,0 +1,12 @@
|
|
1
|
+
cff-version: 1.1.0
|
2
|
+
message: "If you use this software, please cite it as below."
|
3
|
+
authors:
|
4
|
+
- family-names: Kuzma
|
5
|
+
given-names: Kori
|
6
|
+
- family-names: Stevenson
|
7
|
+
given-names: James
|
8
|
+
- family-names: Wagner
|
9
|
+
given-names: Alex
|
10
|
+
title: Cool Seq Tool
|
11
|
+
version: v0.1.1
|
12
|
+
date-released: 2022-05-11
|
@@ -1,11 +1,11 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: cool_seq_tool
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.5.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
|
7
7
|
|
8
|
-
Copyright (c) 2021-
|
8
|
+
Copyright (c) 2021-2024 Wagner Lab
|
9
9
|
|
10
10
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
11
11
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -26,12 +26,11 @@ License: MIT License
|
|
26
26
|
SOFTWARE.
|
27
27
|
|
28
28
|
Project-URL: Homepage, https://github.com/genomicmedlab/cool-seq-tool
|
29
|
-
Project-URL: Documentation, https://coolseqtool.readthedocs.io/
|
29
|
+
Project-URL: Documentation, https://coolseqtool.readthedocs.io/
|
30
30
|
Project-URL: Changelog, https://github.com/genomicmedlab/cool-seq-tool/releases
|
31
31
|
Project-URL: Source, https://github.com/genomicmedlab/cool-seq-tool
|
32
32
|
Project-URL: Bug Tracker, https://github.com/genomicmedlab/cool-seq-tool/issues
|
33
33
|
Classifier: Development Status :: 3 - Alpha
|
34
|
-
Classifier: Framework :: FastAPI
|
35
34
|
Classifier: Framework :: Pydantic
|
36
35
|
Classifier: Framework :: Pydantic :: 2
|
37
36
|
Classifier: Intended Audience :: Science/Research
|
@@ -39,30 +38,29 @@ Classifier: Intended Audience :: Developers
|
|
39
38
|
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
40
39
|
Classifier: License :: OSI Approved :: MIT License
|
41
40
|
Classifier: Programming Language :: Python :: 3
|
42
|
-
Classifier: Programming Language :: Python :: 3.8
|
43
|
-
Classifier: Programming Language :: Python :: 3.9
|
44
41
|
Classifier: Programming Language :: Python :: 3.10
|
45
42
|
Classifier: Programming Language :: Python :: 3.11
|
46
|
-
|
43
|
+
Classifier: Programming Language :: Python :: 3.12
|
44
|
+
Requires-Python: >=3.10
|
47
45
|
Description-Content-Type: text/markdown
|
48
46
|
License-File: LICENSE
|
49
47
|
Requires-Dist: asyncpg
|
50
48
|
Requires-Dist: aiofiles
|
51
49
|
Requires-Dist: boto3
|
52
50
|
Requires-Dist: agct>=0.1.0-dev1
|
53
|
-
Requires-Dist: polars
|
51
|
+
Requires-Dist: polars~=1.0
|
54
52
|
Requires-Dist: hgvs
|
55
53
|
Requires-Dist: biocommons.seqrepo
|
56
54
|
Requires-Dist: pydantic==2.*
|
57
|
-
Requires-Dist: uvicorn
|
58
|
-
Requires-Dist: fastapi
|
59
55
|
Requires-Dist: ga4gh.vrs
|
56
|
+
Requires-Dist: wags-tails~=0.1.3
|
57
|
+
Requires-Dist: bioutils
|
60
58
|
Provides-Extra: dev
|
61
59
|
Requires-Dist: pre-commit; extra == "dev"
|
62
60
|
Requires-Dist: ipython; extra == "dev"
|
63
61
|
Requires-Dist: ipykernel; extra == "dev"
|
64
62
|
Requires-Dist: psycopg2-binary; extra == "dev"
|
65
|
-
Requires-Dist: ruff==0.
|
63
|
+
Requires-Dist: ruff==0.5.0; extra == "dev"
|
66
64
|
Provides-Extra: tests
|
67
65
|
Requires-Dist: pytest; extra == "tests"
|
68
66
|
Requires-Dist: pytest-cov; extra == "tests"
|
@@ -81,8 +79,14 @@ Requires-Dist: sphinx-github-changelog==1.2.1; extra == "docs"
|
|
81
79
|
CoolSeqTool
|
82
80
|
</h1>
|
83
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)
|
83
|
+
|
84
|
+
---
|
85
|
+
|
84
86
|
**[Documentation](https://coolseqtool.readthedocs.io/latest/)** · [Installation](https://coolseqtool.readthedocs.io/latest/install.html) · [Usage](https://coolseqtool.readthedocs.io/latest/usage.html) · [API reference](https://coolseqtool.readthedocs.io/latest/reference/index.html)
|
85
87
|
|
88
|
+
---
|
89
|
+
|
86
90
|
## Overview
|
87
91
|
|
88
92
|
<!-- description -->
|
@@ -113,6 +117,7 @@ All CoolSeqTool resources can be initialized by way of a top-level class instanc
|
|
113
117
|
|
114
118
|
```pycon
|
115
119
|
>>> from cool_seq_tool.app import CoolSeqTool
|
120
|
+
>>> from cool_seq_tool.schemas import AnnotationLayer, ResidueMode
|
116
121
|
>>> cst = CoolSeqTool()
|
117
122
|
>>> result = await cst.mane_transcript.get_mane_transcript(
|
118
123
|
... "NP_004324.2",
|
@@ -2,8 +2,14 @@
|
|
2
2
|
CoolSeqTool
|
3
3
|
</h1>
|
4
4
|
|
5
|
+
[](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)
|
6
|
+
|
7
|
+
---
|
8
|
+
|
5
9
|
**[Documentation](https://coolseqtool.readthedocs.io/latest/)** · [Installation](https://coolseqtool.readthedocs.io/latest/install.html) · [Usage](https://coolseqtool.readthedocs.io/latest/usage.html) · [API reference](https://coolseqtool.readthedocs.io/latest/reference/index.html)
|
6
10
|
|
11
|
+
---
|
12
|
+
|
7
13
|
## Overview
|
8
14
|
|
9
15
|
<!-- description -->
|
@@ -34,6 +40,7 @@ All CoolSeqTool resources can be initialized by way of a top-level class instanc
|
|
34
40
|
|
35
41
|
```pycon
|
36
42
|
>>> from cool_seq_tool.app import CoolSeqTool
|
43
|
+
>>> from cool_seq_tool.schemas import AnnotationLayer, ResidueMode
|
37
44
|
>>> cst = CoolSeqTool()
|
38
45
|
>>> result = await cst.mane_transcript.get_mane_transcript(
|
39
46
|
... "NP_004324.2",
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
2
|
+
#
|
3
|
+
|
4
|
+
# You can set these variables from the command line, and also
|
5
|
+
# from the environment for the first two.
|
6
|
+
SPHINXOPTS ?=
|
7
|
+
SPHINXBUILD ?= sphinx-build
|
8
|
+
SOURCEDIR = source
|
9
|
+
BUILDDIR = build
|
10
|
+
|
11
|
+
# Put it first so that "make" without argument is like "make help".
|
12
|
+
help:
|
13
|
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
14
|
+
|
15
|
+
.PHONY: help Makefile
|
16
|
+
|
17
|
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
18
|
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
19
|
+
%: Makefile
|
20
|
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
@ECHO OFF
|
2
|
+
|
3
|
+
pushd %~dp0
|
4
|
+
|
5
|
+
REM Command file for Sphinx documentation
|
6
|
+
|
7
|
+
if "%SPHINXBUILD%" == "" (
|
8
|
+
set SPHINXBUILD=sphinx-build
|
9
|
+
)
|
10
|
+
set SOURCEDIR=source
|
11
|
+
set BUILDDIR=build
|
12
|
+
|
13
|
+
%SPHINXBUILD% >NUL 2>NUL
|
14
|
+
if errorlevel 9009 (
|
15
|
+
echo.
|
16
|
+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
17
|
+
echo.installed, then set the SPHINXBUILD environment variable to point
|
18
|
+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
19
|
+
echo.may add the Sphinx directory to PATH.
|
20
|
+
echo.
|
21
|
+
echo.If you don't have Sphinx installed, grab it from
|
22
|
+
echo.https://www.sphinx-doc.org/
|
23
|
+
exit /b 1
|
24
|
+
)
|
25
|
+
|
26
|
+
if "%1" == "" goto help
|
27
|
+
|
28
|
+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
29
|
+
goto end
|
30
|
+
|
31
|
+
:help
|
32
|
+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
33
|
+
|
34
|
+
:end
|
35
|
+
popd
|