可用于高效设计高活性多突变体,实现从神经网络训练、多突变体提出到诱变寡核苷酸生成的端到端流程,支持数据拆分、序列特征化及机器学习模型的对比,还提供零样本集成方法提名单突变体。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 7 个月前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 |
概述
MULTI-evolve(模型引导的、通用的、靶向多突变体构建)的官方代码库,这是一个用于高效设计高活性多突变体的端到端框架。
MULTI-evolve Python 包具有以下用途:
-
实现 MULTI-evolve 框架的工作流程,包括:训练神经网络、提出多突变体、生成用于所提多突变体基因合成的 MULTI-assembly 诱变寡核苷酸、采用语言模型零样本集成方法提名待实验测试的单突变体。
-
便捷比较各种数据拆分方法、序列特征化方法和机器学习模型。
安装
Linux
我们的实验使用了 PyTorch 2.6.0 搭配 CUDA 12.4。为运行本代码库中的脚本,建议使用 conda 环境。克隆代码库,导航至根目录,然后运行以下命令安装环境和包:
cd MULTI-evolve
conda env create -f env.yml
conda activate multievolve
pip install -e .
通过运行以下命令检查已安装的 torch+cuda 版本:
python -c "import torch; print(torch.__version__)"
然后,运行以下命令,将 <VERSION> 替换为您的 torch 版本(例如,2.6.0+cu124):
pip install torch-cluster torch-scatter torch-sparse torch-spline-conv torch-geometric \
--find-links https://data.pyg.org/whl/torch-<VERSION>.html \
--no-build-isolation
例如,如果你的 torch 版本是 2.6.0+cu124,你可以运行:
pip install torch-cluster torch-scatter torch-sparse torch-spline-conv torch-geometric \
--find-links https://data.pyg.org/whl/torch-2.6.0+cu124.html \
--no-build-isolation
Mac ARM架构
我们的实验使用了PyTorch 2.2.2。若要运行此仓库中的脚本,建议使用conda环境。克隆仓库,导航至根目录,然后运行以下命令安装环境和包:
cd MULTI-evolve
conda env create -f env_mac.yml
conda activate multievolve
pip install -e .
然后,运行:
pip install torch-cluster torch-scatter torch-sparse torch-spline-conv torch-geometric \
--find-links https://data.pyg.org/whl/torch-2.2.2+cpu.html \
--no-build-isolation
使用方法
MULTI-evolve框架的工作流程如下:
- 训练全连接神经网络以预测给定序列的适应度。
- 选择性能最佳的神经网络,并使用它来预测组合变体。
- 对于选定的多突变体,生成用于基因合成的MULTI-assembly诱变寡核苷酸。
在某些迭代中,MULTI-evolve框架涉及使用蛋白质语言模型零样本集成方法来提名要评估的单突变体。
交互式Web应用程序
MULTI-evolve可以作为交互式Web应用程序通过Streamlit运行。
在存储库的根目录中运行:
conda activate multievolve
streamlit run app.py
命令行
请参阅 脚本 README 了解如何通过命令行使用 MULTI-evolve。
仓库结构
multievolve/ # Main package
├── featurizers/ # Sequence featurization modules
├── predictors/ # ML model training and prediction
│ └── sweep_configs/ # Hyperparameter sweep configurations
├── proposers/ # Variant proposal modules
├── splitters/ # Data splitting strategies
└── utils/ # Utility functions
data/ # Example datasets
notebooks/ # Tutorial and benchmarking notebooks
scripts/ # Command-line workflow scripts
proteins/ # Cache directory (auto-generated)
└── <protein_name>/
├── feature_cache/ # Cached featurized sequences by featurizer type
├── model_cache/ # Cached predictor objects by dataset
│ └── <dataset>/
│ ├── objects/ # Saved models
│ └── results/ # Model comparison results
├── proposers/ # Evaluated proposed sequences
│ └── results/
└── split_cache/ # Cached splitter objects by dataset
└── <dataset>/
训练和比较多种机器学习模型
MULTI-evolve 软件包可用于比较不同的数据分割方法、序列特征化方式和机器学习模型。此外,该软件包还可结合蛋白质语言模型(ESM、ESM-IF)进行零样本预测。示例文件位于 notebooks/examples 文件夹中。
贡献者
Vincent Q. Tran(VincentQTran)、Matthew Nemeth(mnemeth66)和 Brian Hie(brianhie)。
引用
MULTI-evolve 由 Patrick Hsu 实验室开发。如果您在研究中使用本代码,请引用我们的论文:
@ARTICLE
author={Tran, Vincent Q. and Nemeth, Matthew and Bartie, Liam J. and Chandrasekaran, Sita S. and Fanton, Alison and Moon, Hyungseok C. and Hie, Brian L. and Konermann, Silvana and Hsu, Patrick D.},
title={Rapid directed evolution guided by protein language models and epistatic interactions},
year={2026},
journal={Science},
DOI={https://doi.org/10.1126/science.aea1820}