protein-quest 0.10.1__py3-none-any.whl → 1.0.0__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.
- protein_quest/__version__.py +1 -1
- protein_quest/parallel.py +22 -5
- {protein_quest-0.10.1.dist-info → protein_quest-1.0.0.dist-info}/METADATA +16 -1
- {protein_quest-0.10.1.dist-info → protein_quest-1.0.0.dist-info}/RECORD +7 -7
- {protein_quest-0.10.1.dist-info → protein_quest-1.0.0.dist-info}/WHEEL +0 -0
- {protein_quest-0.10.1.dist-info → protein_quest-1.0.0.dist-info}/entry_points.txt +0 -0
- {protein_quest-0.10.1.dist-info → protein_quest-1.0.0.dist-info}/licenses/LICENSE +0 -0
protein_quest/__version__.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__version__ = "0.
|
|
1
|
+
__version__ = "1.0.0"
|
|
2
2
|
"""The version of the package."""
|
protein_quest/parallel.py
CHANGED
|
@@ -86,12 +86,15 @@ def _configure_cpu_dask_scheduler(nproc: int, name: str) -> LocalCluster:
|
|
|
86
86
|
return LocalCluster(name=name, threads_per_worker=1, n_workers=n_workers)
|
|
87
87
|
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
class MyProgressBar(ProgressBar):
|
|
90
|
+
"""Show progress of Dask computations.
|
|
91
91
|
|
|
92
|
+
Copy of distributed.diagnostics.progressbar.TextProgressBar that:
|
|
92
93
|
|
|
93
|
-
|
|
94
|
-
|
|
94
|
+
- prints to stderr instead of stdout
|
|
95
|
+
- Can have its interval (in seconds) set with `TQDM_MININTERVAL` environment variable
|
|
96
|
+
|
|
97
|
+
"""
|
|
95
98
|
|
|
96
99
|
__loop: IOLoop | None = None
|
|
97
100
|
|
|
@@ -107,6 +110,11 @@ class _StderrTextProgressBar(ProgressBar):
|
|
|
107
110
|
**kwargs, # noqa: ARG002
|
|
108
111
|
):
|
|
109
112
|
self._loop_runner = loop_runner = LoopRunner(loop=loop)
|
|
113
|
+
if interval == "100ms":
|
|
114
|
+
interval_env = os.getenv("TQDM_MININTERVAL")
|
|
115
|
+
if interval_env is not None:
|
|
116
|
+
interval = interval_env + "s"
|
|
117
|
+
|
|
110
118
|
super().__init__(keys, scheduler, interval, complete)
|
|
111
119
|
self.width = width
|
|
112
120
|
|
|
@@ -144,6 +152,10 @@ class _StderrTextProgressBar(ProgressBar):
|
|
|
144
152
|
sys.stderr.flush()
|
|
145
153
|
|
|
146
154
|
|
|
155
|
+
# Generic type parameters used across helpers
|
|
156
|
+
P = ParamSpec("P")
|
|
157
|
+
|
|
158
|
+
|
|
147
159
|
def dask_map_with_progress[T, R, **P](
|
|
148
160
|
client: Client,
|
|
149
161
|
func: Callable[Concatenate[T, P], R],
|
|
@@ -154,6 +166,10 @@ def dask_map_with_progress[T, R, **P](
|
|
|
154
166
|
"""
|
|
155
167
|
Wrapper for map, progress, and gather of Dask that returns a correctly typed list.
|
|
156
168
|
|
|
169
|
+
Environment variables:
|
|
170
|
+
- Set interval (in seconds) of progress updates with `TQDM_MININTERVAL`
|
|
171
|
+
- Disabled by setting `TQDM_DISABLE` to any value
|
|
172
|
+
|
|
157
173
|
Args:
|
|
158
174
|
client: Dask client.
|
|
159
175
|
func: Function to map; first parameter comes from ``iterable`` and any
|
|
@@ -169,6 +185,7 @@ def dask_map_with_progress[T, R, **P](
|
|
|
169
185
|
if client.dashboard_link:
|
|
170
186
|
logger.info(f"Follow progress on dask dashboard at: {client.dashboard_link}")
|
|
171
187
|
futures = client.map(func, iterable, *args, **kwargs)
|
|
172
|
-
|
|
188
|
+
if not os.getenv("TQDM_DISABLE"):
|
|
189
|
+
MyProgressBar(futures)
|
|
173
190
|
results = client.gather(futures)
|
|
174
191
|
return cast("list[R]", results)
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: protein_quest
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: Search/retrieve/filter proteins and protein structures
|
|
5
5
|
Project-URL: Homepage, https://github.com/haddocking/protein-quest
|
|
6
6
|
Project-URL: Issues, https://github.com/haddocking/protein-quest/issues
|
|
7
7
|
Project-URL: Documentation, https://www.bonvinlab.org/protein-quest/
|
|
8
8
|
Project-URL: Source, https://github.com/haddocking/protein-quest
|
|
9
9
|
License-File: LICENSE
|
|
10
|
+
Keywords: alphafold,mmcif,pdb,protein,protein structure,uniprot
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Framework :: AsyncIO
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
|
+
Classifier: Natural Language :: English
|
|
17
|
+
Classifier: Operating System :: MacOS
|
|
18
|
+
Classifier: Operating System :: POSIX
|
|
19
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
22
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
23
|
+
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
24
|
+
Classifier: Typing :: Typed
|
|
10
25
|
Requires-Python: >=3.13
|
|
11
26
|
Requires-Dist: aiofiles>=24.1.0
|
|
12
27
|
Requires-Dist: aiohttp-retry>=2.9.1
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
protein_quest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
protein_quest/__version__.py,sha256=
|
|
2
|
+
protein_quest/__version__.py,sha256=fb4tmcrpQ8DpX5nyj0S9YU6dOsGM0L_N3rGiboRYQ-8,56
|
|
3
3
|
protein_quest/cli.py,sha256=aWqdAeseUm7s8UGmrPFNfJPW6W83RmpJAsEy4sZscQY,57506
|
|
4
4
|
protein_quest/converter.py,sha256=Y-Oxf7lDNbEicL6GS-IpNWDwaAiHgIgs5bFAcEHCKdQ,1441
|
|
5
5
|
protein_quest/emdb.py,sha256=641c6RwNYnu-0GBFyCFBiI58fNc0jMkd0ZZ9MW9-Jmc,1501
|
|
@@ -7,7 +7,7 @@ protein_quest/filters.py,sha256=em1FYD7Y9z98ZSaJGYCv1VCGRADLbat8FfSOlNJNAJM,5663
|
|
|
7
7
|
protein_quest/go.py,sha256=lZNEcw8nTc9wpV3cl4y2FG9Lsj8wsXQ6zemmAQs_DWE,5650
|
|
8
8
|
protein_quest/io.py,sha256=ngV_HU2HIQFO-bP2xQj_fhgv0MYjW4puqz_9CxGpBv8,13017
|
|
9
9
|
protein_quest/mcp_server.py,sha256=ZmEs18crS_Ce1-b_PM4m5kmS5C8lLlcrgpocTt7GVrg,8551
|
|
10
|
-
protein_quest/parallel.py,sha256=
|
|
10
|
+
protein_quest/parallel.py,sha256=hmwjv-KeiC7qSs5xApAvh3ZKkJ9HDW5zmr1zuwOzFpg,6367
|
|
11
11
|
protein_quest/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
12
|
protein_quest/ss.py,sha256=4ZGIHfjTlodYTXqGUKhMnGbgaStYOGaWg2oYrWIjdgo,10118
|
|
13
13
|
protein_quest/structure.py,sha256=3TdzrXbGpmnskp3gjwVevwD1tfhKfAUPOHWi9ViaheM,9101
|
|
@@ -20,8 +20,8 @@ protein_quest/alphafold/entry_summary.py,sha256=Qhnw75RXFaoOU332g7axg_jYbbdZbUps
|
|
|
20
20
|
protein_quest/alphafold/fetch.py,sha256=D-RWKWo5kWpCko_LNT_sslzrpeR3HX9nu5F4MUOFRtI,21979
|
|
21
21
|
protein_quest/pdbe/__init__.py,sha256=eNNHtN60NAGea7gvRkIzkoTXsYPK99s-ldIcKWYO6So,61
|
|
22
22
|
protein_quest/pdbe/fetch.py,sha256=e8CHWDX2QzWnVLmYXCfNrscw1UcN1lI9Uz6Z5HmEOEQ,2510
|
|
23
|
-
protein_quest-0.
|
|
24
|
-
protein_quest-0.
|
|
25
|
-
protein_quest-0.
|
|
26
|
-
protein_quest-0.
|
|
27
|
-
protein_quest-0.
|
|
23
|
+
protein_quest-1.0.0.dist-info/METADATA,sha256=6BeMJwGMFaHE03fo_Eqc-fGAz3NeX8SiLQb6tsJwz5I,12652
|
|
24
|
+
protein_quest-1.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
25
|
+
protein_quest-1.0.0.dist-info/entry_points.txt,sha256=f1RtOxv9TFBO3w01EMEuFXBTMsqKsQcKlkxmj9zE-0g,57
|
|
26
|
+
protein_quest-1.0.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
27
|
+
protein_quest-1.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|