protein-quest 0.3.2__py3-none-any.whl → 0.5.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.
Potentially problematic release.
This version of protein-quest might be problematic. Click here for more details.
- protein_quest/__version__.py +1 -1
- protein_quest/alphafold/fetch.py +34 -9
- protein_quest/cli.py +207 -26
- protein_quest/converter.py +1 -0
- protein_quest/emdb.py +6 -3
- protein_quest/mcp_server.py +34 -3
- protein_quest/pdbe/fetch.py +6 -3
- protein_quest/ss.py +20 -0
- protein_quest/uniprot.py +157 -4
- protein_quest/utils.py +367 -23
- {protein_quest-0.3.2.dist-info → protein_quest-0.5.0.dist-info}/METADATA +41 -3
- protein_quest-0.5.0.dist-info/RECORD +26 -0
- protein_quest-0.3.2.dist-info/RECORD +0 -26
- {protein_quest-0.3.2.dist-info → protein_quest-0.5.0.dist-info}/WHEEL +0 -0
- {protein_quest-0.3.2.dist-info → protein_quest-0.5.0.dist-info}/entry_points.txt +0 -0
- {protein_quest-0.3.2.dist-info → protein_quest-0.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: protein_quest
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.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
|
|
@@ -17,6 +17,7 @@ Requires-Dist: cattrs[orjson]>=24.1.3
|
|
|
17
17
|
Requires-Dist: dask>=2025.5.1
|
|
18
18
|
Requires-Dist: distributed>=2025.5.1
|
|
19
19
|
Requires-Dist: gemmi>=0.7.3
|
|
20
|
+
Requires-Dist: platformdirs>=4.3.8
|
|
20
21
|
Requires-Dist: psutil>=7.0.0
|
|
21
22
|
Requires-Dist: rich-argparse>=1.7.1
|
|
22
23
|
Requires-Dist: rich>=14.0.0
|
|
@@ -47,6 +48,10 @@ It uses
|
|
|
47
48
|
- [gemmi](https://project-gemmi.github.io/) to work with macromolecular models.
|
|
48
49
|
- [dask-distributed](https://docs.dask.org/en/latest/) to compute in parallel.
|
|
49
50
|
|
|
51
|
+
The package is used by
|
|
52
|
+
|
|
53
|
+
- [protein-detective](https://github.com/haddocking/protein-detective)
|
|
54
|
+
|
|
50
55
|
An example workflow:
|
|
51
56
|
|
|
52
57
|
```mermaid
|
|
@@ -56,12 +61,14 @@ graph TB;
|
|
|
56
61
|
searchuniprot --> |uniprot_accessions|searchpdbe[/Search PDBe/]
|
|
57
62
|
searchuniprot --> |uniprot_accessions|searchaf[/Search Alphafold/]
|
|
58
63
|
searchuniprot -. uniprot_accessions .-> searchemdb[/Search EMDB/]
|
|
64
|
+
searchintactionpartners[/Search interaction partners/] -.-x |uniprot_accessions|searchuniprot
|
|
65
|
+
searchcomplexes[/Search complexes/]
|
|
59
66
|
searchpdbe -->|pdb_ids|fetchpdbe[Retrieve PDBe]
|
|
60
67
|
searchaf --> |uniprot_accessions|fetchad(Retrieve AlphaFold)
|
|
61
68
|
searchemdb -. emdb_ids .->fetchemdb[Retrieve EMDB]
|
|
62
|
-
fetchpdbe -->|
|
|
69
|
+
fetchpdbe -->|mmcif_files| chainfilter{{Filter on chain of uniprot}}
|
|
63
70
|
chainfilter --> |mmcif_files| residuefilter{{Filter on chain length}}
|
|
64
|
-
fetchad -->|
|
|
71
|
+
fetchad -->|mmcif_files| confidencefilter{{Filter out low confidence}}
|
|
65
72
|
confidencefilter --> |mmcif_files| ssfilter{{Filter on secondary structure}}
|
|
66
73
|
residuefilter --> |mmcif_files| ssfilter
|
|
67
74
|
classDef dashedBorder stroke-dasharray: 5 5;
|
|
@@ -69,6 +76,8 @@ graph TB;
|
|
|
69
76
|
taxonomy:::dashedBorder
|
|
70
77
|
searchemdb:::dashedBorder
|
|
71
78
|
fetchemdb:::dashedBorder
|
|
79
|
+
searchintactionpartners:::dashedBorder
|
|
80
|
+
searchcomplexes:::dashedBorder
|
|
72
81
|
```
|
|
73
82
|
|
|
74
83
|
(Dotted nodes and edges are side-quests.)
|
|
@@ -90,6 +99,9 @@ The main entry point is the `protein-quest` command line tool which has multiple
|
|
|
90
99
|
|
|
91
100
|
To use programmaticly, see the [Jupyter notebooks](https://www.bonvinlab.org/protein-quest/notebooks) and [API documentation](https://www.bonvinlab.org/protein-quest/autoapi/summary/).
|
|
92
101
|
|
|
102
|
+
While downloading or copying files it uses a global cache (located at `~/.cache/protein-quest`) and hardlinks to save disk space and improve speed.
|
|
103
|
+
This behavior can be customized with the `--no-cache`, `--cache-dir`, and `--copy-method` command line arguments.
|
|
104
|
+
|
|
93
105
|
### Search Uniprot accessions
|
|
94
106
|
|
|
95
107
|
```shell
|
|
@@ -204,6 +216,32 @@ You can use following command to search for a Gene Ontology (GO) term.
|
|
|
204
216
|
protein-quest search go --limit 5 --aspect cellular_component apoptosome -
|
|
205
217
|
```
|
|
206
218
|
|
|
219
|
+
### Search for interaction partners
|
|
220
|
+
|
|
221
|
+
Use https://www.ebi.ac.uk/complexportal to find interaction partners of given UniProt accession.
|
|
222
|
+
|
|
223
|
+
```shell
|
|
224
|
+
protein-quest search interaction-partners Q05471 interaction-partners-of-Q05471.txt
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
The `interaction-partners-of-Q05471.txt` file contains uniprot accessions (one per line).
|
|
228
|
+
|
|
229
|
+
### Search for complexes
|
|
230
|
+
|
|
231
|
+
Given Uniprot accessions search for macromolecular complexes at https://www.ebi.ac.uk/complexportal
|
|
232
|
+
and return the complex entries and their members.
|
|
233
|
+
|
|
234
|
+
```shell
|
|
235
|
+
echo Q05471 | protein-quest search complexes - complexes.csv
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
The `complexes.csv` looks like
|
|
239
|
+
|
|
240
|
+
```csv
|
|
241
|
+
query_protein,complex_id,complex_url,complex_title,members
|
|
242
|
+
Q05471,CPX-2122,https://www.ebi.ac.uk/complexportal/complex/CPX-2122,Swr1 chromatin remodelling complex,P31376;P35817;P38326;P53201;P53930;P60010;P80428;Q03388;Q03433;Q03940;Q05471;Q06707;Q12464;Q12509
|
|
243
|
+
```
|
|
244
|
+
|
|
207
245
|
## Model Context Protocol (MCP) server
|
|
208
246
|
|
|
209
247
|
Protein quest can also help LLMs like Claude Sonnet 4 by providing a [set of tools](https://modelcontextprotocol.io/docs/learn/server-concepts#tools-ai-actions) for protein structures.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
protein_quest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
protein_quest/__version__.py,sha256=AyGZhrskazcQPC8spzJ45d4XNxgla5DnO1bmKuzRj_Q,56
|
|
3
|
+
protein_quest/cli.py,sha256=xiXt_2l3MxbTbmxm2sz0w8_OdJr8gz_B68GBVv5wHjE,44182
|
|
4
|
+
protein_quest/converter.py,sha256=Y-Oxf7lDNbEicL6GS-IpNWDwaAiHgIgs5bFAcEHCKdQ,1441
|
|
5
|
+
protein_quest/emdb.py,sha256=641c6RwNYnu-0GBFyCFBiI58fNc0jMkd0ZZ9MW9-Jmc,1501
|
|
6
|
+
protein_quest/filters.py,sha256=-gasSXR4g5SzYSYbkfcDwR-tm2KCAhCMdpIVJrUPR1w,5224
|
|
7
|
+
protein_quest/go.py,sha256=lZNEcw8nTc9wpV3cl4y2FG9Lsj8wsXQ6zemmAQs_DWE,5650
|
|
8
|
+
protein_quest/mcp_server.py,sha256=PCXxcU3GElKg2sjMlxbsM63OiFxg9AtmfKwBJ1_0AQE,8130
|
|
9
|
+
protein_quest/parallel.py,sha256=ZJrLO1t2HXs4EeNctytvBTyROPBq-4-gLf35PiolHf0,3468
|
|
10
|
+
protein_quest/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
+
protein_quest/ss.py,sha256=qOr0aMycNAtZmXXvhCN-KZH3Qp4EejnBcE6fsFgCrmY,10343
|
|
12
|
+
protein_quest/taxonomy.py,sha256=4mKv8zll4mX02Ow8CTvyqMJE2KJZvcq3QlTjjjLOJJk,5072
|
|
13
|
+
protein_quest/uniprot.py,sha256=DIwQYzWZREZ7SGhkJT4Ozgl36pdz47FNfZ1QoEgEaXE,24239
|
|
14
|
+
protein_quest/utils.py,sha256=2lQ7jPHWtDySBTYnoL9VTKl5XUgQVYgp9Prb7qEnjtQ,17982
|
|
15
|
+
protein_quest/alphafold/__init__.py,sha256=Ktasi5BRp71wO7-PpOGDpIRRtBEefs8knIdlKQeLQpk,51
|
|
16
|
+
protein_quest/alphafold/confidence.py,sha256=pYIuwYdkuPuHLagcX1dSvSyZ_84xboRLfHUxkEoc4MY,6766
|
|
17
|
+
protein_quest/alphafold/entry_summary.py,sha256=GtE3rT7wH3vIOOeiXY2s80Fo6EzdoqlcvakW8K591Yk,1257
|
|
18
|
+
protein_quest/alphafold/fetch.py,sha256=wIsgPZmtnE5EoAL9G22Y6Ehx9d0md53Mw88-6LLGp0Q,12298
|
|
19
|
+
protein_quest/pdbe/__init__.py,sha256=eNNHtN60NAGea7gvRkIzkoTXsYPK99s-ldIcKWYO6So,61
|
|
20
|
+
protein_quest/pdbe/fetch.py,sha256=e8CHWDX2QzWnVLmYXCfNrscw1UcN1lI9Uz6Z5HmEOEQ,2510
|
|
21
|
+
protein_quest/pdbe/io.py,sha256=iGLvmsD-eEYnrgZDYfkGWIDCzwDRRD5dwqB480talCs,10037
|
|
22
|
+
protein_quest-0.5.0.dist-info/METADATA,sha256=atoElM2xwPd9ubxXSQsFQYz2hjALJi-AegCRkrynEYc,9236
|
|
23
|
+
protein_quest-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
24
|
+
protein_quest-0.5.0.dist-info/entry_points.txt,sha256=f1RtOxv9TFBO3w01EMEuFXBTMsqKsQcKlkxmj9zE-0g,57
|
|
25
|
+
protein_quest-0.5.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
26
|
+
protein_quest-0.5.0.dist-info/RECORD,,
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
protein_quest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
protein_quest/__version__.py,sha256=tDIN8WjNdFKRoXsf6tArV0_n6nbcPEBWNv1zuhaRbKo,56
|
|
3
|
-
protein_quest/cli.py,sha256=k4HC282QkbAAIk614vIJgaKfkS3XD9hYj7E5hEuiDxA,37893
|
|
4
|
-
protein_quest/converter.py,sha256=tSDw7HOlC7UoWryr_G-sHGzGq8nwflzSq8o7Gv1hWuQ,1382
|
|
5
|
-
protein_quest/emdb.py,sha256=QEeU0VJQ4lLM-o5yAU3QZlrtzDZNgnC5fCjlqPtTyAY,1370
|
|
6
|
-
protein_quest/filters.py,sha256=-gasSXR4g5SzYSYbkfcDwR-tm2KCAhCMdpIVJrUPR1w,5224
|
|
7
|
-
protein_quest/go.py,sha256=lZNEcw8nTc9wpV3cl4y2FG9Lsj8wsXQ6zemmAQs_DWE,5650
|
|
8
|
-
protein_quest/mcp_server.py,sha256=auftrx4aBZp1P-pBcunkPiSmXLtOIZ6MTuhUuW7yrGY,7241
|
|
9
|
-
protein_quest/parallel.py,sha256=ZJrLO1t2HXs4EeNctytvBTyROPBq-4-gLf35PiolHf0,3468
|
|
10
|
-
protein_quest/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
protein_quest/ss.py,sha256=MMHgqKPxjYpjyExiqslWjmyG7aeForeAeJorCYdh75g,9663
|
|
12
|
-
protein_quest/taxonomy.py,sha256=4mKv8zll4mX02Ow8CTvyqMJE2KJZvcq3QlTjjjLOJJk,5072
|
|
13
|
-
protein_quest/uniprot.py,sha256=8qWV4GWqHTRfed0bE_TdgsLYcnDT_vzKu-6JxIgapJQ,18680
|
|
14
|
-
protein_quest/utils.py,sha256=z4PPPcog6nvPhA93DWVf7stv5uJ4h_2BP5owdhoO5mo,5626
|
|
15
|
-
protein_quest/alphafold/__init__.py,sha256=Ktasi5BRp71wO7-PpOGDpIRRtBEefs8knIdlKQeLQpk,51
|
|
16
|
-
protein_quest/alphafold/confidence.py,sha256=pYIuwYdkuPuHLagcX1dSvSyZ_84xboRLfHUxkEoc4MY,6766
|
|
17
|
-
protein_quest/alphafold/entry_summary.py,sha256=GtE3rT7wH3vIOOeiXY2s80Fo6EzdoqlcvakW8K591Yk,1257
|
|
18
|
-
protein_quest/alphafold/fetch.py,sha256=iFHORaO-2NvPwmpm33tfOFUcSJx8mBGwMXxwc4bRuk8,11336
|
|
19
|
-
protein_quest/pdbe/__init__.py,sha256=eNNHtN60NAGea7gvRkIzkoTXsYPK99s-ldIcKWYO6So,61
|
|
20
|
-
protein_quest/pdbe/fetch.py,sha256=tlCrWoaOrwxnQFrf-PnimUUa6lmtHwwysS51efYsBcA,2379
|
|
21
|
-
protein_quest/pdbe/io.py,sha256=iGLvmsD-eEYnrgZDYfkGWIDCzwDRRD5dwqB480talCs,10037
|
|
22
|
-
protein_quest-0.3.2.dist-info/METADATA,sha256=wcURSjBlmkCt-ddhZX7xRYrL-7tT1VuBpJ36_mP0Iuk,7760
|
|
23
|
-
protein_quest-0.3.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
24
|
-
protein_quest-0.3.2.dist-info/entry_points.txt,sha256=f1RtOxv9TFBO3w01EMEuFXBTMsqKsQcKlkxmj9zE-0g,57
|
|
25
|
-
protein_quest-0.3.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
26
|
-
protein_quest-0.3.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|