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.
Files changed (74) hide show
  1. cool_seq_tool-0.5.0/.coveragerc +7 -0
  2. cool_seq_tool-0.5.0/.github/ISSUE_TEMPLATE/bug-report.yaml +85 -0
  3. cool_seq_tool-0.5.0/.github/ISSUE_TEMPLATE/feature-request.yaml +60 -0
  4. cool_seq_tool-0.5.0/.github/workflows/checks.yaml +58 -0
  5. cool_seq_tool-0.5.0/.github/workflows/close_issue.yml +18 -0
  6. cool_seq_tool-0.5.0/.github/workflows/pr-priority-label.yaml +23 -0
  7. cool_seq_tool-0.5.0/.github/workflows/release.yml +50 -0
  8. cool_seq_tool-0.5.0/.github/workflows/stale.yaml +28 -0
  9. cool_seq_tool-0.5.0/.gitignore +137 -0
  10. cool_seq_tool-0.5.0/.pre-commit-config.yaml +14 -0
  11. cool_seq_tool-0.5.0/.readthedocs.yaml +16 -0
  12. cool_seq_tool-0.5.0/CITATION.cff +12 -0
  13. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/LICENSE +1 -1
  14. {cool_seq_tool-0.4.0.dev3/src/cool_seq_tool.egg-info → cool_seq_tool-0.5.0}/PKG-INFO +16 -11
  15. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/README.md +7 -0
  16. cool_seq_tool-0.5.0/docs/Makefile +20 -0
  17. cool_seq_tool-0.5.0/docs/make.bat +35 -0
  18. cool_seq_tool-0.5.0/docs/source/_static/img/biomart.png +0 -0
  19. cool_seq_tool-0.5.0/docs/source/_templates/module_summary.rst +7 -0
  20. cool_seq_tool-0.5.0/docs/source/changelog.rst +7 -0
  21. cool_seq_tool-0.5.0/docs/source/conf.py +102 -0
  22. cool_seq_tool-0.5.0/docs/source/contributing.rst +87 -0
  23. cool_seq_tool-0.5.0/docs/source/index.rst +39 -0
  24. cool_seq_tool-0.5.0/docs/source/install.rst +92 -0
  25. cool_seq_tool-0.5.0/docs/source/license.rst +4 -0
  26. cool_seq_tool-0.5.0/docs/source/reference/index.rst +70 -0
  27. cool_seq_tool-0.5.0/docs/source/transcript_selection.rst +35 -0
  28. cool_seq_tool-0.5.0/docs/source/usage.rst +92 -0
  29. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/pyproject.toml +28 -18
  30. cool_seq_tool-0.5.0/src/cool_seq_tool/__init__.py +10 -0
  31. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/app.py +44 -24
  32. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/handlers/__init__.py +1 -0
  33. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/handlers/seqrepo_access.py +27 -25
  34. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/mappers/__init__.py +3 -1
  35. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/mappers/alignment.py +5 -6
  36. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/mappers/exon_genomic_coords.py +139 -124
  37. cool_seq_tool-0.5.0/src/cool_seq_tool/mappers/liftover.py +90 -0
  38. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/mappers/mane_transcript.py +208 -113
  39. cool_seq_tool-0.5.0/src/cool_seq_tool/resources/__init__.py +1 -0
  40. cool_seq_tool-0.5.0/src/cool_seq_tool/resources/data_files.py +93 -0
  41. cool_seq_tool-0.5.0/src/cool_seq_tool/resources/status.py +153 -0
  42. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/schemas.py +92 -54
  43. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/sources/__init__.py +1 -0
  44. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/sources/mane_transcript_mappings.py +16 -9
  45. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/sources/transcript_mappings.py +41 -32
  46. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/sources/uta_database.py +96 -249
  47. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool/utils.py +44 -4
  48. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0/src/cool_seq_tool.egg-info}/PKG-INFO +16 -11
  49. cool_seq_tool-0.5.0/src/cool_seq_tool.egg-info/SOURCES.txt +61 -0
  50. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool.egg-info/requires.txt +4 -4
  51. cool_seq_tool-0.5.0/tests/conftest.py +123 -0
  52. cool_seq_tool-0.5.0/tests/handlers/test_seqrepo_access.py +331 -0
  53. cool_seq_tool-0.5.0/tests/mappers/test_alignment.py +337 -0
  54. cool_seq_tool-0.5.0/tests/mappers/test_exon_genomic_coords.py +1161 -0
  55. cool_seq_tool-0.5.0/tests/mappers/test_liftover.py +22 -0
  56. cool_seq_tool-0.5.0/tests/mappers/test_mane_transcript.py +918 -0
  57. cool_seq_tool-0.5.0/tests/sources/test_mane_transcript_mappings.py +203 -0
  58. cool_seq_tool-0.5.0/tests/sources/test_uta_database.py +366 -0
  59. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/tests/test_utils.py +1 -0
  60. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/__init__.py +0 -14
  61. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/api.py +0 -42
  62. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/data/__init__.py +0 -2
  63. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/data/data_downloads.py +0 -89
  64. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/paths.py +0 -28
  65. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/routers/__init__.py +0 -16
  66. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/routers/default.py +0 -125
  67. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/routers/mane.py +0 -98
  68. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/routers/mappings.py +0 -155
  69. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool/version.py +0 -2
  70. cool_seq_tool-0.4.0.dev3/src/cool_seq_tool.egg-info/SOURCES.txt +0 -33
  71. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/setup.cfg +0 -0
  72. {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
  73. {cool_seq_tool-0.4.0.dev3 → cool_seq_tool-0.5.0}/src/cool_seq_tool.egg-info/dependency_links.txt +0 -0
  74. {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,7 @@
1
+ [run]
2
+ source =
3
+ cool_seq_tool/
4
+ tests/
5
+ omit =
6
+ setup.py
7
+ docs/*
@@ -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,16 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: "ubuntu-20.04"
5
+ tools:
6
+ python: "3.11"
7
+
8
+ python:
9
+ install:
10
+ - method: pip
11
+ path: .
12
+ extra_requirements:
13
+ - docs
14
+
15
+ sphinx:
16
+ configuration: docs/source/conf.py
@@ -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,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021-2023 Wagner Lab
3
+ Copyright (c) 2021-2024 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
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cool_seq_tool
3
- Version: 0.4.0.dev3
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-2023 Wagner Lab
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/en/latest/index.html
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
- Requires-Python: >=3.8
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.2.0; extra == "dev"
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
+ [![image](https://img.shields.io/pypi/v/cool-seq-tool.svg)](https://pypi.python.org/pypi/cool-seq-tool) [![image](https://img.shields.io/pypi/l/cool-seq-tool.svg)](https://pypi.python.org/pypi/cool-seq-tool) [![image](https://img.shields.io/pypi/pyversions/cool-seq-tool.svg)](https://pypi.python.org/pypi/cool-seq-tool) [![Actions status](https://github.com/genomicmedlab/cool-seq-tool/actions/workflows/checks.yaml/badge.svg)](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
+ [![image](https://img.shields.io/pypi/v/cool-seq-tool.svg)](https://pypi.python.org/pypi/cool-seq-tool) [![image](https://img.shields.io/pypi/l/cool-seq-tool.svg)](https://pypi.python.org/pypi/cool-seq-tool) [![image](https://img.shields.io/pypi/pyversions/cool-seq-tool.svg)](https://pypi.python.org/pypi/cool-seq-tool) [![Actions status](https://github.com/genomicmedlab/cool-seq-tool/actions/workflows/checks.yaml/badge.svg)](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