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
+ ![portrait](https://raw.githubusercontent.com/YaoYinYing/artworks/main/DALL%C2%B7E%202024-01-22%2018.09.07%20-%20A%20sleek%20logo%20design%20with%20a%20human%20pilot%20dressed%20in%20yellow-pink%20uniform%20and%20a%20robot%20co-pilot%20in%20blue%2C%20both%20exhibiting%20friendly%20smiles.%20Abstract%20style.%20T.png)
50
+
51
+ ---
52
+
53
+ ## Platforms supported
54
+
55
+ ![Windows](https://img.shields.io/badge/Windows-10%20%7C%2011-blue?logo=microsoft&color=blue&logoColor=blue)
56
+ ![MacOS](https://img.shields.io/badge/MacOS-Sonoma-silver?logo=apple)
57
+ ![Ubuntu](https://img.shields.io/badge/Ubuntu-20.04%20%7C%2022.04-orange?logo=ubuntu)
58
+ ![architecture](https://img.shields.io/badge/Architecture-win--64%20%7C%20linux--64%20%7C%20osx--64%20%7C%20osx--arm64-6A5FBB)
59
+ ![python-version](https://img.shields.io/badge/Python-3.9_%7C_3.10_%7C_3.11_%7C_3.12-3776AB?logo=python&logoColor=yellow)
60
+ [![pymol-bundle](https://tinyurl.com/pymol-bundle)](https://pymol.org/2/)
61
+ [![pymol-bundle-v3](https://tinyurl.com/pymol-bundle-v3)](https://pymol.org/)
62
+ [![pymol-open-source](https://tinyurl.com/pymol-open-source)](https://anaconda.org/conda-forge/pymol-open-source)
63
+ ![pyqt](https://img.shields.io/badge/PyQt-5-41CD52?logo=qt)
64
+ [![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
65
+ ---
66
+
67
+ ## CI Status
68
+
69
+ [![Unit Test on tagging](https://github.com/YaoYinYing/REvoDesign/actions/workflows/unit_tests_tag.yml/badge.svg)](https://github.com/YaoYinYing/REvoDesign/actions/workflows/unit_tests_tag.yml)
70
+ [![Docker Image](https://github.com/YaoYinYing/REvoDesign/actions/workflows/docker-image.yml/badge.svg)](https://github.com/YaoYinYing/REvoDesign/actions/workflows/docker-image.yml)
71
+ [![CircleCI](https://dl.circleci.com/status-badge/img/gh/YaoYinYing/REvoDesign/tree/main.svg?style=svg&circle-token=CCIPRJ_HUET1GZsh4QvG9zsGJmd4n_37fb6a6c718247b0e7b4cf65e007a815279af3bd)](https://dl.circleci.com/status-badge/redirect/gh/YaoYinYing/REvoDesign/tree/main)
72
+
73
+ ## Docker images
74
+
75
+ [![Docker Image Size](https://img.shields.io/docker/image-size/yaoyinying/revodesign-pssm-gremlin?style=social&logo=docker&label=server%20image%20size)](https://hub.docker.com/r/yaoyinying/revodesign-pssm-gremlin)
76
+
77
+ ## Code checkings
78
+
79
+ [![pylint](https://github-image-cache.yaoyy.moe/badge_dir_with_uniq_name/REvoDesign/pylint/pylint_scan.svg)](https://github.com/Silleellie/pylint-github-action)
80
+ [![Codacy Badge](https://app.codacy.com/project/badge/Grade/3583a7e4923d4116931fcbab21492f21)](https://app.codacy.com?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
81
+ [![codecov](https://codecov.io/gh/YaoYinYing/REvoDesign/graph/badge.svg?token=2qSJ7cgk1b)](https://codecov.io/gh/YaoYinYing/REvoDesign)
82
+ [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FYaoYinYing%2FREvoDesign.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2FYaoYinYing%2FREvoDesign?ref=badge_shield&issueType=license)
83
+ [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FYaoYinYing%2FREvoDesign.svg?type=shield&issueType=security)](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
+ ![software design](https://github-image-cache.yaoyy.moe/2024/04/9593eb8fc02494a9d2327e82eb52de0e.jpg)
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
+ ![Install from URL](https://github-image-cache.yaoyy.moe/2024/11/a68d9f8394a6b9dcf952deef264838b5.png)
162
+
163
+ 6. Confirm the installation when prompted.
164
+
165
+ ![Proceed Installation](https://github-image-cache.yaoyy.moe/2024/11/971af4a4f7b38ff6d4cee260fc6662d8.png)
166
+
167
+ 7. Set the installation location (use the default if unsure) and click **OK**.
168
+
169
+ ![Setup Location](https://github-image-cache.yaoyy.moe/2024/11/8cbdecd6c45c801957a52b65f1eb7c02.png)
170
+
171
+ Once installed, the REvoDesign Package Manager will appear in the PyMOL menu.
172
+
173
+ ![REvoDesign Package Manager](https://github-image-cache.yaoyy.moe/2024/04/6fd3d7838e0f92d88ab9fab99eeba250.png)
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
+ ![Local Clone](https://github-image-cache.yaoyy.moe/2024/11/0f955519fe222c6188444f9265c36d5c.png)
211
+
212
+ 3. **Local File:**
213
+ Select **Local file** to install from a `.zip` or `.tar.gz` file.
214
+
215
+ ![Local File](https://github-image-cache.yaoyy.moe/2024/11/ecd25285b7b53c5fa243cc12a601feb9.png)
216
+
217
+ 4. **Specific Version/Commit:**
218
+ Check **Version** or **Commit** to install a specific release.
219
+
220
+ ![Version/Commit](https://github-image-cache.yaoyy.moe/2024/11/ffef3cf1d25098329fc2a58bc1d4cae0.png)
221
+
222
+ 5. **Customized/Extras:**
223
+ Use **Customized** to select specific features or **Everything** for a full installation.
224
+
225
+ ![Install with Extras](https://github-image-cache.yaoyy.moe/2024/11/aa5b50c6a603b20bcad614910bbbc440.png)
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
+ ![Proxy Configuration](https://github-image-cache.yaoyy.moe/2024/11/8c7849a70ea512f3b2166110a07a45ab.png)
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
+ ![Self Upgrade](https://github-image-cache.yaoyy.moe/2024/11/85e6e45ae880674a5081459d80687453.png)
254
+
255
+ After confirming, the script will replace the existing manager with the updated version.
256
+
257
+ ![Upgrade Confirmation](https://github-image-cache.yaoyy.moe/2024/11/4ddb145c98ac3fc472c2d9e4ffc23489.png)
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
+ [![CircleCI](https://dl.circleci.com/insights-snapshot/circleci/97VjoN5in7mMaQdymWj7Qk/EVmMjwc2AXdvw6kpYNfFPj/main/test/badge.svg?window=30d&circle-token=465c8a4e66021ab11dd31f920a60a452b09a4cb8)](https://app.circleci.com/insights/circleci/97VjoN5in7mMaQdymWj7Qk/EVmMjwc2AXdvw6kpYNfFPj/workflows/test/overview?branch=main&reporting-window=last-30-days&insights-snapshot=true) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FYaoYinYing%2FREvoDesign.svg?type=large&issueType=license)](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,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: flit 3.11.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -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