cool-seq-tool 0.14.0__tar.gz → 0.14.1__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 (62) hide show
  1. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.pre-commit-config.yaml +2 -2
  2. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/PKG-INFO +5 -5
  3. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/pyproject.toml +4 -4
  4. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/handlers/seqrepo_access.py +1 -3
  5. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/mappers/exon_genomic_coords.py +1 -1
  6. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/mappers/mane_transcript.py +1 -1
  7. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/sources/uta_database.py +6 -6
  8. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool.egg-info/PKG-INFO +5 -5
  9. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool.egg-info/requires.txt +4 -4
  10. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/handlers/test_seqrepo_access.py +1 -1
  11. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.coveragerc +0 -0
  12. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
  13. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
  14. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.github/workflows/checks.yaml +0 -0
  15. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.github/workflows/pr-priority-label.yaml +0 -0
  16. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.github/workflows/release.yml +0 -0
  17. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.github/workflows/stale.yaml +0 -0
  18. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.gitignore +0 -0
  19. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/.readthedocs.yaml +0 -0
  20. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/CITATION.cff +0 -0
  21. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/LICENSE +0 -0
  22. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/README.md +0 -0
  23. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/Makefile +0 -0
  24. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/make.bat +0 -0
  25. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/_static/img/biomart.png +0 -0
  26. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/_templates/module_summary.rst +0 -0
  27. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/changelog.rst +0 -0
  28. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/conf.py +0 -0
  29. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/contributing.rst +0 -0
  30. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/index.rst +0 -0
  31. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/install.rst +0 -0
  32. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/license.rst +0 -0
  33. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/reference/index.rst +0 -0
  34. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/transcript_selection.rst +0 -0
  35. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/docs/source/usage.rst +0 -0
  36. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/setup.cfg +0 -0
  37. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/__init__.py +0 -0
  38. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/app.py +0 -0
  39. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/handlers/__init__.py +0 -0
  40. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/mappers/__init__.py +0 -0
  41. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/mappers/alignment.py +0 -0
  42. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/mappers/liftover.py +0 -0
  43. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/resources/__init__.py +0 -0
  44. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/resources/data_files.py +0 -0
  45. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/resources/status.py +0 -0
  46. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/resources/transcript_mapping.tsv +0 -0
  47. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/schemas.py +0 -0
  48. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/sources/__init__.py +0 -0
  49. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/sources/mane_transcript_mappings.py +0 -0
  50. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/sources/transcript_mappings.py +0 -0
  51. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool/utils.py +0 -0
  52. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool.egg-info/SOURCES.txt +0 -0
  53. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool.egg-info/dependency_links.txt +0 -0
  54. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/src/cool_seq_tool.egg-info/top_level.txt +0 -0
  55. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/conftest.py +0 -0
  56. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/mappers/test_alignment.py +0 -0
  57. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/mappers/test_exon_genomic_coords.py +0 -0
  58. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/mappers/test_liftover.py +0 -0
  59. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/mappers/test_mane_transcript.py +0 -0
  60. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/sources/test_mane_transcript_mappings.py +0 -0
  61. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/sources/test_uta_database.py +0 -0
  62. {cool_seq_tool-0.14.0 → cool_seq_tool-0.14.1}/tests/test_utils.py +0 -0
@@ -12,9 +12,9 @@ repos:
12
12
  - id: mixed-line-ending
13
13
  args: [ --fix=lf ]
14
14
  - repo: https://github.com/astral-sh/ruff-pre-commit
15
- rev: v0.8.6
15
+ rev: v0.12.1
16
16
  hooks:
17
17
  - id: ruff-format
18
18
  - id: ruff
19
19
  args: [ --fix, --exit-non-zero-on-fix ]
20
- minimum_pre_commit_version: 4.0.1
20
+ minimum_pre_commit_version: 4.2.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cool_seq_tool
3
- Version: 0.14.0
3
+ Version: 0.14.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
@@ -51,16 +51,16 @@ Requires-Dist: agct>=0.1.0-dev1
51
51
  Requires-Dist: polars~=1.0
52
52
  Requires-Dist: hgvs
53
53
  Requires-Dist: biocommons.seqrepo
54
- Requires-Dist: pydantic==2.*
55
- Requires-Dist: ga4gh.vrs~=2.0.0a10
54
+ Requires-Dist: pydantic<3.0,>=2.0
55
+ Requires-Dist: ga4gh.vrs<3.0,>=2.1.3
56
56
  Requires-Dist: wags-tails~=0.3.2
57
57
  Requires-Dist: bioutils
58
58
  Provides-Extra: dev
59
- Requires-Dist: pre-commit>=4.0.1; extra == "dev"
59
+ Requires-Dist: pre-commit>=4.2.0; 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.8.6; extra == "dev"
63
+ Requires-Dist: ruff==0.12.1; extra == "dev"
64
64
  Provides-Extra: tests
65
65
  Requires-Dist: pytest; extra == "tests"
66
66
  Requires-Dist: pytest-cov; extra == "tests"
@@ -31,8 +31,8 @@ dependencies = [
31
31
  "polars ~= 1.0",
32
32
  "hgvs",
33
33
  "biocommons.seqrepo",
34
- "pydantic == 2.*",
35
- "ga4gh.vrs ~= 2.0.0a10",
34
+ "pydantic >=2.0,<3.0",
35
+ "ga4gh.vrs >=2.1.3,<3.0",
36
36
  "wags-tails ~= 0.3.2",
37
37
  "bioutils",
38
38
  ]
@@ -40,11 +40,11 @@ dynamic = ["version"]
40
40
 
41
41
  [project.optional-dependencies]
42
42
  dev = [
43
- "pre-commit>=4.0.1",
43
+ "pre-commit>=4.2.0",
44
44
  "ipython",
45
45
  "ipykernel",
46
46
  "psycopg2-binary",
47
- "ruff==0.8.6"
47
+ "ruff==0.12.1",
48
48
  ]
49
49
  tests = ["pytest", "pytest-cov", "pytest-asyncio==0.18.3", "mock"]
50
50
  docs = [
@@ -75,9 +75,7 @@ class SeqRepoAccess(SeqRepoDataProxy):
75
75
  f"Start inter-residue coordinate ({start}) is out of index on {ac}"
76
76
  )
77
77
  elif error.startswith("stop out of range"):
78
- msg = (
79
- f"End inter-residue coordinate ({end}) is out of " f"index on {ac}"
80
- )
78
+ msg = f"End inter-residue coordinate ({end}) is out of index on {ac}"
81
79
  else:
82
80
  msg = f"{e}"
83
81
  _logger.warning(msg)
@@ -776,7 +776,7 @@ class ExonGenomicCoordsMapper:
776
776
  GRCh38 by default. Will attempt to liftover if starting assembly is GRCh37
777
777
  :return: Data for a transcript segment boundary (inter-residue coordinates)
778
778
  """
779
- params = {key: None for key in GenomicTxSeg.model_fields}
779
+ params = dict.fromkeys(GenomicTxSeg.model_fields)
780
780
 
781
781
  # Validate inputs exist in UTA
782
782
  if gene:
@@ -268,7 +268,7 @@ class ManeTranscript:
268
268
  query = f"""
269
269
  SELECT alt_ac
270
270
  FROM {self.uta_db.schema}.genomic
271
- WHERE alt_ac LIKE '{genomic_tx_data.alt_ac.split('.')[0]}%'
271
+ WHERE alt_ac LIKE '{genomic_tx_data.alt_ac.split(".")[0]}%'
272
272
  {order_by_cond}
273
273
  """ # noqa: S608
274
274
  nc_acs = await self.uta_db.execute_query(query)
@@ -221,7 +221,7 @@ class UtaDatabase:
221
221
  WHERE table_schema = '{self.schema}'
222
222
  AND table_name = 'genomic'
223
223
  );
224
- """
224
+ """ # noqa: S608
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
+ """ # noqa: S608
254
254
  await self.execute_query(create_genomic_table)
255
255
 
256
256
  indexes = [
@@ -325,13 +325,13 @@ class UtaDatabase:
325
325
  cds_start_end = await self.execute_query(query)
326
326
  if cds_start_end:
327
327
  cds_start_end = cds_start_end[0]
328
- if cds_start_end[0] is not None and cds_start_end[1] is not None: # noqa: RET503
328
+ if cds_start_end[0] is not None and cds_start_end[1] is not None:
329
329
  return cds_start_end[0], cds_start_end[1]
330
330
  else:
331
331
  _logger.warning(
332
332
  "Unable to get coding start/end site for accession: %s", tx_ac
333
333
  )
334
- return None
334
+ return None
335
335
 
336
336
  async def get_newest_assembly_ac(self, ac: str) -> list[str]:
337
337
  """Find accession associated to latest genomic assembly
@@ -352,7 +352,7 @@ class UtaDatabase:
352
352
  query = f"""
353
353
  SELECT ac
354
354
  FROM {self.schema}._seq_anno_most_recent
355
- WHERE ac LIKE '{ac.split('.')[0]}%'
355
+ WHERE ac LIKE '{ac.split(".")[0]}%'
356
356
  AND ((descr IS NULL) OR (descr = ''))
357
357
  {order_by_cond}
358
358
  """ # noqa: S608
@@ -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
+ """ # noqa: S608
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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cool_seq_tool
3
- Version: 0.14.0
3
+ Version: 0.14.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
@@ -51,16 +51,16 @@ Requires-Dist: agct>=0.1.0-dev1
51
51
  Requires-Dist: polars~=1.0
52
52
  Requires-Dist: hgvs
53
53
  Requires-Dist: biocommons.seqrepo
54
- Requires-Dist: pydantic==2.*
55
- Requires-Dist: ga4gh.vrs~=2.0.0a10
54
+ Requires-Dist: pydantic<3.0,>=2.0
55
+ Requires-Dist: ga4gh.vrs<3.0,>=2.1.3
56
56
  Requires-Dist: wags-tails~=0.3.2
57
57
  Requires-Dist: bioutils
58
58
  Provides-Extra: dev
59
- Requires-Dist: pre-commit>=4.0.1; extra == "dev"
59
+ Requires-Dist: pre-commit>=4.2.0; 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.8.6; extra == "dev"
63
+ Requires-Dist: ruff==0.12.1; extra == "dev"
64
64
  Provides-Extra: tests
65
65
  Requires-Dist: pytest; extra == "tests"
66
66
  Requires-Dist: pytest-cov; extra == "tests"
@@ -5,17 +5,17 @@ agct>=0.1.0-dev1
5
5
  polars~=1.0
6
6
  hgvs
7
7
  biocommons.seqrepo
8
- pydantic==2.*
9
- ga4gh.vrs~=2.0.0a10
8
+ pydantic<3.0,>=2.0
9
+ ga4gh.vrs<3.0,>=2.1.3
10
10
  wags-tails~=0.3.2
11
11
  bioutils
12
12
 
13
13
  [dev]
14
- pre-commit>=4.0.1
14
+ pre-commit>=4.2.0
15
15
  ipython
16
16
  ipykernel
17
17
  psycopg2-binary
18
- ruff==0.8.6
18
+ ruff==0.12.1
19
19
 
20
20
  [docs]
21
21
  sphinx==6.1.3
@@ -89,7 +89,7 @@ def test_translate_identifier(test_seqrepo_access):
89
89
  resp = test_seqrepo_access.translate_identifier("refseq_152263.3")
90
90
  assert resp == (
91
91
  [],
92
- "SeqRepo unable to get translated identifiers for" " refseq_152263.3",
92
+ "SeqRepo unable to get translated identifiers for refseq_152263.3",
93
93
  )
94
94
 
95
95
 
File without changes
File without changes
File without changes