REvoDesign 0.0.0rc23.post1__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.
REvoDesign/__init__.py
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# -------------------------------------------------------------
|
|
2
|
+
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
# Licensed under the MIT License. See LICENSE in project root for information.
|
|
4
|
+
# -------------------------------------------------------------
|
|
5
|
+
"""Python Package Template"""
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
__version__ = "0.0.0""-rc23-post1"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# ---------------------------------------------------------------------------------
|
|
2
|
+
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
# Licensed under the MIT License. See LICENSE in project root for information.
|
|
4
|
+
# ---------------------------------------------------------------------------------
|
|
5
|
+
"""This is a Sample Python file."""
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def hello_world(i: int = 0) -> str:
|
|
12
|
+
"""Doc String."""
|
|
13
|
+
print("hello world")
|
|
14
|
+
return f"string-{i}"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def good_night() -> str:
|
|
18
|
+
"""Doc String."""
|
|
19
|
+
print("good night")
|
|
20
|
+
return "string"
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def hello_goodbye():
|
|
24
|
+
hello_world(1)
|
|
25
|
+
good_night()
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: REvoDesign
|
|
3
|
+
Version: 0.0.0rc23.post1
|
|
4
|
+
Summary: A PyMOL plugin that makes enzyme redesign tasks easier to all.
|
|
5
|
+
Author-email: Yinying Yao <yaoyy.hi@gmail.com>
|
|
6
|
+
Requires-Python: >=3.9
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Classifier: Development Status :: 6 - Mature
|
|
9
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
10
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Requires-Dist: typing-extensions>=4.9.0
|
|
20
|
+
Requires-Dist: immutabledict>=4.1.0
|
|
21
|
+
Requires-Dist: biopython>=1.81
|
|
22
|
+
Requires-Dist: joblib>=1.3.2
|
|
23
|
+
Requires-Dist: matplotlib>=3.6.0
|
|
24
|
+
Requires-Dist: pandas>=2.1.0
|
|
25
|
+
Requires-Dist: numpy<2.0.0
|
|
26
|
+
Requires-Dist: requests>=2.32.3
|
|
27
|
+
Requires-Dist: scikit-learn>=1.3.0
|
|
28
|
+
Requires-Dist: scipy>=1.11.2
|
|
29
|
+
Requires-Dist: pyOpenSSL>=23.3.0
|
|
30
|
+
Requires-Dist: pybiolib>=1.1.1666
|
|
31
|
+
Requires-Dist: hydra-core>=1.3.2
|
|
32
|
+
Requires-Dist: omegaconf>=2.3.0
|
|
33
|
+
Requires-Dist: rdkit>=2023.9.4
|
|
34
|
+
Requires-Dist: msgpack
|
|
35
|
+
Requires-Dist: RosettaPy>=0.2.11.post3
|
|
36
|
+
Requires-Dist: platformdirs
|
|
37
|
+
Requires-Dist: fastapi
|
|
38
|
+
Requires-Dist: uvicorn
|
|
39
|
+
Requires-Dist: requests
|
|
40
|
+
Requires-Dist: openpyxl
|
|
41
|
+
Requires-Dist: tqdm
|
|
42
|
+
Requires-Dist: webcolors
|
|
43
|
+
Project-URL: Documentation, https://github.com/YaoYinYing/REvoDesign/tree/main#readme
|
|
44
|
+
Project-URL: Source, https://github.com/YaoYinYing/REvoDesign
|
|
45
|
+
Project-URL: Tracker, https://github.com/YaoYinYing/REvoDesign/issues
|
|
46
|
+
|
|
47
|
+
# REvoDesign
|
|
48
|
+
|
|
49
|
+

|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Platforms supported
|
|
54
|
+
|
|
55
|
+

|
|
56
|
+

|
|
57
|
+

|
|
58
|
+

|
|
59
|
+

|
|
60
|
+
[](https://pymol.org/2/)
|
|
61
|
+
[](https://pymol.org/)
|
|
62
|
+
[](https://anaconda.org/conda-forge/pymol-open-source)
|
|
63
|
+

|
|
64
|
+
[](https://github.com/ambv/black)
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## CI Status
|
|
68
|
+
|
|
69
|
+
[](https://github.com/YaoYinYing/REvoDesign/actions/workflows/unit_tests_tag.yml)
|
|
70
|
+
[](https://github.com/YaoYinYing/REvoDesign/actions/workflows/docker-image.yml)
|
|
71
|
+
[](https://dl.circleci.com/status-badge/redirect/gh/YaoYinYing/REvoDesign/tree/main)
|
|
72
|
+
|
|
73
|
+
## Docker images
|
|
74
|
+
|
|
75
|
+
[](https://hub.docker.com/r/yaoyinying/revodesign-pssm-gremlin)
|
|
76
|
+
|
|
77
|
+
## Code checkings
|
|
78
|
+
|
|
79
|
+
[](https://github.com/Silleellie/pylint-github-action)
|
|
80
|
+
[](https://app.codacy.com?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
|
|
81
|
+
[](https://codecov.io/gh/YaoYinYing/REvoDesign)
|
|
82
|
+
[](https://app.fossa.com/projects/git%2Bgithub.com%2FYaoYinYing%2FREvoDesign?ref=badge_shield&issueType=license)
|
|
83
|
+
[](https://app.fossa.com/projects/git%2Bgithub.com%2FYaoYinYing%2FREvoDesign?ref=badge_shield&issueType=security)
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Introduction
|
|
88
|
+
|
|
89
|
+
Welcome to **REvoDesign** - a PyMOL plugin that makes enzyme redesign tasks easier for everyone. **REvoDesign** aims at facilitating enzyme redesign using a combination of structural and phylogenetic information, serving as a co-pilot for protein designers and leveraging the wealth of human knowledge in enzyme design.
|
|
90
|
+
|
|
91
|
+
### About the Plugin
|
|
92
|
+
|
|
93
|
+
Enzyme redesign is a complex task that requires a deep understanding of protein structures, substrate binding sites, and evolutionary relationships. **REvoDesign** Toolkit is designed to streamline this process by offering a range of tools and functionalities to assist protein designers in their endeavors.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### Basic Architecture Design
|
|
98
|
+
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
### Key Features
|
|
102
|
+
|
|
103
|
+
In brief, the **REvoDesign** PyMOL plugin provides a set of essential tools to help protein designers with the following tasks:
|
|
104
|
+
|
|
105
|
+
1. **Surface Residue Analysis**: Identify surface residues exposed as solvent-accessible surface area (SASA) and design pocket identification based on substrates and/or cofactors, with customizable cutoffs.
|
|
106
|
+
|
|
107
|
+
2. **Mutant Loading**: Load available designable mutants through a PSSM-like table in CSV format, allowing for customizable rejections and preferences.
|
|
108
|
+
|
|
109
|
+
3. **Human Knowledge Supervision**: Perform human knowledge-supervised mutant selection within the PyMOL interface, utilizing structural views.
|
|
110
|
+
|
|
111
|
+
4. **Scale Reduction**: Reduce the scale of your design, making it suitable for low-throughput wet-lab validation by leveraging sequence clustering.
|
|
112
|
+
|
|
113
|
+
5. **Visualization**: Visualize mutant tables in PyMOL, whether they have been scored or not.
|
|
114
|
+
|
|
115
|
+
6. **Co-Evolution Analysis**: Search for possible inter-residue co-evolved residue pairs for effective mutants using the GREMLIN Markov random field profile.
|
|
116
|
+
|
|
117
|
+
**REvoDesign** is your indispensable companion in the intricate journey of enzyme redesign. Whether you are a seasoned protein designer or just beginning your exploration, **REvoDesign** Toolkit is here to simplify your workflow and enhance your enzyme engineering endeavors.
|
|
118
|
+
|
|
119
|
+
Please refer to the [documentation(WIP)](link_to_documentation) for detailed instructions on how to use the toolkit and make the most of its features.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Dependencies wait list
|
|
124
|
+
> [!NOTE]
|
|
125
|
+
> These are the dependencies that are not yet implemented but will be added in the toolkit.
|
|
126
|
+
### Designers
|
|
127
|
+
- [ ] [SaProt](https://github.com/westlake-repl/SaProt)
|
|
128
|
+
- [ ] [Prime](https://github.com/ai4protein/Pro-Prime)
|
|
129
|
+
- [ ] [ProtSSN](https://github.com/tyang816/ProtSSN)
|
|
130
|
+
- [ ] [Native Pythia-ddG](https://github.com/Wublab/Pythia)
|
|
131
|
+
- [ ] [CarbonDesign](https://github.com/zhanghaicang/carbonmatrix_public)
|
|
132
|
+
- [ ] [ProtMamba](https://github.com/Bitbol-Lab/ProtMamba-ssm)
|
|
133
|
+
- [ ] [LigandMPNN](https://github.com/dauparas/LigandMPNN)
|
|
134
|
+
- [ ] [UniKP](https://github.com/Luo-SynBioLab/UniKP)
|
|
135
|
+
- [ ] [ByProt](https://github.com/BytedProtein/ByProt)
|
|
136
|
+
|
|
137
|
+
### Sidechain Solvers
|
|
138
|
+
- [ ] [AttnPacker](https://github.com/MattMcPartlon/AttnPacker)
|
|
139
|
+
- [ ] [opus_rota4](https://github.com/OPUS-MaLab/opus_rota4)
|
|
140
|
+
- [ ] [GeoPacker](https://github.com/PKUliujl/GeoPacker)
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Installation
|
|
145
|
+
|
|
146
|
+
**REvoDesign** offers a user-friendly installation process using a graphical user interface (GUI).
|
|
147
|
+
|
|
148
|
+
### Step 1: Install the REvoDesign Package Manager
|
|
149
|
+
|
|
150
|
+
Before installing the main program, you need to install the REvoDesign Package Manager as a PyMOL plugin.
|
|
151
|
+
|
|
152
|
+
1. Open PyMOL.
|
|
153
|
+
2. Navigate to **Plugin > Plugin Manager** and select **Install New Plugin**.
|
|
154
|
+
3. Choose **Install from PyMOLWiki or any URL**.
|
|
155
|
+
4. Paste the following URL:
|
|
156
|
+
```text
|
|
157
|
+
https://gist.githubusercontent.com/YaoYinYing/c1e8bfe0fc0b9c60bf49ea04a550a044/raw/REvoDesign_PyMOL.py
|
|
158
|
+
```
|
|
159
|
+
5. Click **Fetch**.
|
|
160
|
+
|
|
161
|
+

|
|
162
|
+
|
|
163
|
+
6. Confirm the installation when prompted.
|
|
164
|
+
|
|
165
|
+

|
|
166
|
+
|
|
167
|
+
7. Set the installation location (use the default if unsure) and click **OK**.
|
|
168
|
+
|
|
169
|
+

|
|
170
|
+
|
|
171
|
+
Once installed, the REvoDesign Package Manager will appear in the PyMOL menu.
|
|
172
|
+
|
|
173
|
+

|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
### Step 2: Install the Main Program
|
|
178
|
+
|
|
179
|
+
The REvoDesign Package Manager simplifies the installation of the core **REvoDesign** program. It supports various installation methods and configurations:
|
|
180
|
+
|
|
181
|
+
#### Features:
|
|
182
|
+
- **Installation Sources:**
|
|
183
|
+
- **Repository:** Install directly from the remote repository.
|
|
184
|
+
- **Local clone/directory:** Install from a local source code or cloned repository.
|
|
185
|
+
- **Local file:** Install from a `.zip` or `.tar.gz` archive.
|
|
186
|
+
- **Options:**
|
|
187
|
+
- **Upgrade:** Update to the latest release version.
|
|
188
|
+
- **Verbose:** Show detailed installation logs.
|
|
189
|
+
- **Version/Commit:** Install a specific version or commit from the repository.
|
|
190
|
+
- **Network Control:**
|
|
191
|
+
- **Proxy Support:** Configure HTTP, HTTPS, SOCKS5, or SOCKS5h proxies.
|
|
192
|
+
- **Mirror:** Use a PyPI mirror for installations.
|
|
193
|
+
- **Extras:**
|
|
194
|
+
- **Basic:** Default installation.
|
|
195
|
+
- **Customized:** Select additional features.
|
|
196
|
+
- **Everything:** Install all extras (excluding test packages).
|
|
197
|
+
- **Cache:** Choose a custom cache directory or use the default.
|
|
198
|
+
- **Self-Upgrades:** Upgrade the package manager and UI directly.
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
#### Installation Methods
|
|
203
|
+
|
|
204
|
+
1. **Remote Repository:**
|
|
205
|
+
Select **Repository** and click **Install**.
|
|
206
|
+
|
|
207
|
+
2. **Local Clone:**
|
|
208
|
+
Use **Local clone** to install from a local repository or unzipped source code.
|
|
209
|
+
|
|
210
|
+

|
|
211
|
+
|
|
212
|
+
3. **Local File:**
|
|
213
|
+
Select **Local file** to install from a `.zip` or `.tar.gz` file.
|
|
214
|
+
|
|
215
|
+

|
|
216
|
+
|
|
217
|
+
4. **Specific Version/Commit:**
|
|
218
|
+
Check **Version** or **Commit** to install a specific release.
|
|
219
|
+
|
|
220
|
+

|
|
221
|
+
|
|
222
|
+
5. **Customized/Extras:**
|
|
223
|
+
Use **Customized** to select specific features or **Everything** for a full installation.
|
|
224
|
+
|
|
225
|
+

|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
#### Uninstallation
|
|
230
|
+
|
|
231
|
+
Use the **Remove** button in the manager to uninstall. You can also remove selected extras.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
#### Network Settings
|
|
236
|
+
|
|
237
|
+
Set up proxies and mirrors to bypass network restrictions. For example, create a SOCKS5 proxy using SSH:
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
ssh -D 7899 -C root@<your.vps.ip> -p<ssh-port>
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Configure the proxy in the manager:
|
|
244
|
+
|
|
245
|
+

|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
#### Self-Upgrades
|
|
250
|
+
|
|
251
|
+
Right-click any non-editing area of the manager and select **Upgrade this manager** to fetch the latest version.
|
|
252
|
+
|
|
253
|
+

|
|
254
|
+
|
|
255
|
+
After confirming, the script will replace the existing manager with the updated version.
|
|
256
|
+
|
|
257
|
+

|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
You are now ready to use **REvoDesign** for your enzyme redesign projects!
|
|
262
|
+
|
|
263
|
+
**Extras table**
|
|
264
|
+
|
|
265
|
+
| extras tag and packages | references | explanations |
|
|
266
|
+
| :---------------------: | :----------------------------------------------------- | :-------------: |
|
|
267
|
+
| `ColabDesign` | https://github.com/sokrypton/ColabDesign.git@v1.1.1 | with JAX |
|
|
268
|
+
| `DLPacker` | https://github.com/YaoYinYing/DLPacker@pip-installable | with TensorFlow |
|
|
269
|
+
| `PIPPack` | https://github.com/YaoYinYing/PIPPack@pip-installable | with PyTorch |
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
> [!WARNING]
|
|
273
|
+
> ColabDesign uses Jax, which requires **Python >= 3.9**
|
|
274
|
+
|
|
275
|
+
> [!IMPORTANT]
|
|
276
|
+
> Please make sure that modern PyMOL version is fetched from [pymol-open-source](https://github.com/schrodinger/pymol-open-source) channel, instead of obsolete PyMOL bundle (* < v2.5.7*, shipped with **Python 3.7**) from [offical website](https://pymol.org/) or [schrodinger's conda channel](https://anaconda.org/schrodinger/pymol-bundle).
|
|
277
|
+
|
|
278
|
+
> [!IMPORTANT]
|
|
279
|
+
> ALSO, for MacOS users work with **Apple Silicon** and PyMOL bundle >2.5.7, `jaxlib` builded with `AVX` will not work under `Rosetta-2`.
|
|
280
|
+
> Please consider using native build of `pymol-open-source` or building `jaxlib` from source.
|
|
281
|
+
|
|
282
|
+
**Doc**: [Building jaxlib from source](https://jax.readthedocs.io/en/latest/developer.html#building-jaxlib-from-source)
|
|
283
|
+
|
|
284
|
+
**Issue**: [CPU Support / Necessary AVX Instructions](https://github.com/google/jax/discussions/11436#discussioncomment-3121063)
|
|
285
|
+
|
|
286
|
+
1. **Getting started**:
|
|
287
|
+
- In order to get started, you need to load/fetch a structure(`fetch 1SUO`, for example) into your PyMOL session.
|
|
288
|
+
- Click `Menu` -> `REvoDesign` -> `Import PyMOL Session` to let **REvoDesign** find a designable molecule. Here is a keyboard shortcut: `Ctrl+N`.
|
|
289
|
+
- Have fun!
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
Happy enzyme redesigning with **REvoDesign**! If you encounter any issues during installation or usage, please consult the documentation or seek assistance from **REvoDesign** toolkit's support resources.
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
[](https://app.circleci.com/insights/circleci/97VjoN5in7mMaQdymWj7Qk/EVmMjwc2AXdvw6kpYNfFPj/workflows/test/overview?branch=main&reporting-window=last-30-days&insights-snapshot=true) [](https://app.fossa.com/projects/git%2Bgithub.com%2FYaoYinYing%2FREvoDesign?ref=badge_large&issueType=license)
|
|
296
|
+
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
REvoDesign/__init__.py,sha256=FXd4Uz1v5k81bXpD9qofGEMgKwnOILVPxm7VH7qsJeE,376
|
|
2
|
+
REvoDesign/hello_world.py,sha256=GogXmyYRJHKBlKpMM1oNmSob2l4itrJITtVIcjv2pCc,650
|
|
3
|
+
revodesign-0.0.0rc23.post1.dist-info/licenses/LICENSE,sha256=ws_MuBL-SCEBqPBFl9_FqZkaaydIJmxHrJG2parhU4M,1141
|
|
4
|
+
revodesign-0.0.0rc23.post1.dist-info/WHEEL,sha256=_2ozNFCLWc93bK4WKHCO-eDUENDlo-dgc9cU3qokYO4,82
|
|
5
|
+
revodesign-0.0.0rc23.post1.dist-info/METADATA,sha256=m4F-Gd3L5MhTZEs64M81oTHNSc079MG49ZI3P0TdoFQ,14952
|
|
6
|
+
revodesign-0.0.0rc23.post1.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Microsoft Corporation.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE
|