|
Download README.md from OneScience-Group/PXDesign: direct link, hf CLI and curl.
- Browser
- Download file 16.2 kB
-
https://huggingface.co/OneScience-Group/PXDesign/resolve/main/README.md
- Command line
-
hf download hf://OneScience-Group/PXDesign/README.md
-
curl -L -o README.md https://huggingface.co/OneScience-Group/PXDesign/resolve/main/README.md
16.2 kB
| license: apache-2.0 | |
| language: | |
| - en | |
| - zh | |
| tags: | |
| - OneScience | |
| - life-science | |
| - protein-design | |
| - protein-binder | |
| - PXDesign | |
| - Protenix | |
| frameworks: PyTorch | |
| <p align="center"> | |
| <strong> | |
| <span style="font-size: 30px;">PXDesign</span> | |
| </strong> | |
| </p> | |
| # Model Introduction | |
| PXDesign is an open-source suite from the ByteDance team for de novo protein binder design. Given a target protein structure, it generates candidate binders and further filters candidate structures through structure prediction and confidence evaluation workflows. | |
| The complete PXDesign workflow consists of the PXDesign diffusion generation model, ProteinMPNN sequence design, AF2-IG evaluation, and Protenix evaluation. The official implementation provides three primary modes, generation-only, preview, and extended, covering use cases from quick validation to complete candidate screening. | |
| Paper: | |
| > **PXDesign: Fast, Modular, and Accurate De Novo Design of Protein Binders** | |
| > https://www.biorxiv.org/content/10.1101/2025.08.15.670647v1 | |
| # Model Description | |
| The core task of PXDesign is to generate new protein binders from a target protein structure and specified design regions. | |
| The typical workflow is: | |
| ```text | |
| Target protein structure and design constraints | |
| -> PXDesign-d diffusion model | |
| -> Binder Backbone Generation | |
| -> ProteinMPNN sequence design | |
| -> AF2-IG structure prediction and filtering | |
| -> Protenix structure prediction and filtering (extended mode) | |
| -> summary.csv | |
| -> Filtered high-confidence binders | |
| ``` | |
| Where: | |
| - **PXDesign-d**: Generates candidate binder backbones from the target protein structure, hotspots, binder length, and other conditions. | |
| - **ProteinMPNN**: Designs amino acid sequences for the generated protein backbones. | |
| - **AF2-IG**: Predicts structures and applies quality filters to candidate binder-target complexes. | |
| - **Protenix**: Provides additional structure prediction and confidence evaluation in extended mode. | |
| - **summary.csv**: Summarizes AF2-IG, Protenix, and other evaluation metrics for candidate structures, along with the pass status of each filter. | |
| # Use Cases | |
| | Use case | Description | | |
| | --- | --- | | |
| | De novo protein binder design | Generate new candidate binders from a given target protein structure | | |
| | Interface-guided design | Use hotspots to specify target residues that the binder should preferentially bind | | |
| | Rapid validation of protein design workflows | Use preview mode to quickly evaluate whether the design task and parameters are reasonable | | |
| | High-quality candidate screening | Use extended mode with AF2-IG and Protenix for multistage filtering | | |
| | Structure generation research | Use `pxdesign infer` to run only the PXDesign generation stage | | |
| # Usage | |
| ## 1. Using OneCode | |
| Experience intelligent one-click AI4S programming in the OneCode online environment: | |
| [Try intelligent one-click AI4S programming](https://web-2069360198568017922-iaaj.ksai.scnet.cn:58043/home) | |
| ## 2. Manual Installation and Usage | |
| ### Hardware Requirements | |
| - A GPU/DCU is recommended for the PXDesign backbone generation stage; complete inference typically requires substantial GPU memory. | |
| - MSA generation and preparation primarily use the CPU. You can prepare MSAs in advance with `prepare-msa` or by precomputing them. | |
| - The ProteinMPNN, AF2-IG, and Protenix prediction and screening stages depend on deep learning frameworks such as PyTorch and JAX; a GPU/DCU is recommended. | |
| - If GPU/DCU resources are limited, prepare the MSA separately on the CPU first, then run the PXDesign generation, ProteinMPNN, AF2-IG, and Protenix evaluation stages. | |
| ### Set Up the Runtime Environment | |
| #### DCU Environment | |
| ```bash | |
| # Activate DTK and CONDA first | |
| conda create -n onescience311 python=3.11 -y | |
| conda activate onescience311 | |
| # Install with uv support | |
| pip install onescience[bio] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai | |
| ``` | |
| #### Environment Notes | |
| - If you encounter missing dependencies or version issues during execution, install additional dependencies according to the versions specified in `requirements.txt`. | |
| - Enter the project root and activate the environment: | |
| ```bash | |
| cd /path/to/PXDesign-main | |
| conda activate your_env | |
| ``` | |
| Install PXDesign in the current environment: | |
| ```bash | |
| python -m pip install -e model | |
| ``` | |
| Verify the installation: | |
| ```bash | |
| which pxdesign | |
| pxdesign --help | |
| pxdesign pipeline --help | |
| ``` | |
| ### Environment Variables | |
| After entering the PXDesign root directory, configure the following variables together: | |
| ```bash | |
| export PXDESIGN_ROOT=$PWD | |
| export TOOL_WEIGHTS_ROOT=$PWD/weight/tool_weights | |
| export PROTENIX_DATA_ROOT_DIR=$PWD/weight/release_data/ccd_cache | |
| ``` | |
| Check them with: | |
| ```bash | |
| echo $PXDESIGN_ROOT | |
| echo $TOOL_WEIGHTS_ROOT | |
| echo $PROTENIX_DATA_ROOT_DIR | |
| ``` | |
| to confirm the configuration. | |
| ## Prepare Weights and Data | |
| The complete PXDesign workflow depends on PXDesign and Protenix model weights, as well as AlphaFold2, ProteinMPNN, and the CCD cache. This model repository already includes the CCD cache and PXDesign/Protenix checkpoints; users only need to prepare the `tool_weights/` portion separately. The complete preparation process is as follows: | |
| ### 1) External Tool Weights and CCD Cache | |
| PXDesign provides an official download script: | |
| ```bash | |
| bash scripts/download_tool_weights.sh | |
| ``` | |
| The script uses the official default directories and generates `tool_weights/` and `release_data/ccd_cache/` in the current directory when run directly. This project has been reorganized under a `weight/` directory, so it is recommended to organize or symlink the existing weights and cache to the locations below. | |
| In the current reorganized project structure, place the external tool weights as follows: | |
| ```text | |
| weight/ | |
| βββ tool_weights/ | |
| β βββ af2/ # AlphaFold2 weights | |
| β βββ mpnn/ # ProteinMPNN weights | |
| βββ release_data/ | |
| βββ ccd_cache/ # Protenix CCD cache | |
| ``` | |
| - The recommended default location for the CCD cache is: | |
| ```text | |
| weight/release_data/ccd_cache/ | |
| ``` | |
| To specify another location, set: | |
| ```bash | |
| export PROTENIX_DATA_ROOT_DIR=/path/to/ccd_cache | |
| ``` | |
| ### 2) PXDesign and Protenix Checkpoints | |
| The following model weights are downloaded on demand during the first run, or can be downloaded to the corresponding locations in advance: | |
| ```text | |
| PXDesign diffusion checkpoint | |
| Protenix checkpoints: | |
| βββ base | |
| βββ mini | |
| βββ mini_tmpl | |
| ``` | |
| The recommended location in the reorganized structure is: | |
| ```text | |
| weight/release_data/checkpoint/ | |
| ``` | |
| The required files include: | |
| ```text | |
| pxdesign_v0.1.0.pt | |
| protenix_base_default_v0.5.0.pt | |
| protenix_mini_default_v0.5.0.pt | |
| protenix_mini_tmpl_v0.5.0.pt | |
| ``` | |
| ### 3) Check the Installation | |
| After preparation is complete, run: | |
| ```bash | |
| ls weight/tool_weights/af2/ | |
| ls weight/tool_weights/mpnn/ | |
| ls weight/release_data/ccd_cache/ | |
| ls weight/release_data/checkpoint/*.pt | |
| ``` | |
| to confirm that the required weights and data are ready. | |
| ## 3. Quick Start | |
| ### Download the Model Package | |
| ```bash | |
| hf download OneScience-Group/PXDesign --local-dir ./PXDesign | |
| cd PXDesign | |
| ``` | |
| - PXDesign additionally depends on Protenix and PXDesignBench; the corresponding dependency source code is included in this model repository, so separate downloads are not required. | |
| - The complete PXDesign workflow also depends on AlphaFold2, ProteinMPNN, and the CCD cache required by Protenix. Prepare these resources as described in "Prepare Weights and Data" first. | |
| ### Quick Verification | |
| First, verify that the command is available: | |
| ```bash | |
| pxdesign --help | |
| ``` | |
| To save the results to `runs/` as in the examples below, first create the output directory: | |
| ```bash | |
| mkdir -p runs | |
| ``` | |
| Then check the official example YAML: | |
| ```bash | |
| pxdesign check-input \ | |
| --yaml conf/examples/PDL1_quick_start.yaml | |
| ``` | |
| On success, the output should be: | |
| ```text | |
| YAML file is valid. | |
| ``` | |
| ### Example Data | |
| The current project provides: | |
| ```text | |
| conf/examples/ | |
| βββ PDL1_quick_start.yaml | |
| βββ 5o45.cif | |
| βββ msa/ | |
| βββ PDL1/ | |
| βββ 0/ | |
| ``` | |
| `PDL1_quick_start.yaml` defines the PDL1 binder design task. | |
| The typical YAML format is: | |
| ```yaml | |
| target: | |
| file: "./conf/examples/5o45.cif" | |
| chains: | |
| A: | |
| crop: ["1-116"] | |
| hotspots: [40, 99, 107] | |
| msa: "./conf/examples/msa/PDL1/0" | |
| binder_length: 80 | |
| ``` | |
| Key fields: | |
| | Field | Description | | |
| | --- | --- | | |
| | `target.file` | Target protein structure file; mmCIF or PDB can be used | | |
| | `target.chains` | Target chains involved in the design | | |
| | `crop` | Residue range retained from the target chain | | |
| | `hotspots` | Target residues used to guide binder interface generation | | |
| | `msa` | Path to the precomputed MSA for the target chain | | |
| | `binder_length` | Amino acid length of the binder to be designed | | |
| PXDesign primarily uses the mmCIF `label_seq_id` as the standard residue index internally. For custom tasks, mmCIF files are recommended, and `parse-target` should be used to check that crop and hotspot specifications point to the intended positions. | |
| ### Input Checking and Target Parsing | |
| #### 1) Check the YAML | |
| Run the following before formally executing a design task: | |
| ```bash | |
| pxdesign check-input \ | |
| --yaml conf/examples/PDL1_quick_start.yaml | |
| ``` | |
| #### 2) Parse the Target and Generate Visualization Debug Files | |
| ```bash | |
| pxdesign parse-target \ | |
| --yaml conf/examples/PDL1_quick_start.yaml \ | |
| -o runs/debug_target | |
| ``` | |
| This step is useful for checking the following before running a large-scale design: | |
| - whether the crop is correct; | |
| - whether the hotspots correspond to the intended residues; | |
| - whether the structure chains and residue numbering are correct. | |
| ## Inference Examples | |
| PXDesign primarily provides three execution modes: | |
| ```text | |
| Generation Only | |
| -> Generate only the PXDesign binder backbone | |
| Preview Pipeline | |
| -> PXDesign + ProteinMPNN + AF2-IG | |
| Extended Pipeline | |
| -> PXDesign + ProteinMPNN + AF2-IG + Protenix | |
| ``` | |
| ### 1. Generation Only: Run PXDesign Generation Only | |
| #### Quick Smoke Test | |
| To first verify that the model, weights, and GPU/DCU work correctly, use a smaller number of steps: | |
| ```bash | |
| pxdesign infer \ | |
| -i conf/examples/PDL1_quick_start.yaml \ | |
| -o runs/test_infer \ | |
| --load_checkpoint_dir weight/release_data/checkpoint \ | |
| --N_sample 1 \ | |
| --N_step 20 \ | |
| --dtype bf16 \ | |
| --sample_diffusion_chunk_size 1 | |
| ``` | |
| #### Full-Step Generation Test | |
| ```bash | |
| pxdesign infer \ | |
| -i conf/examples/PDL1_quick_start.yaml \ | |
| -o runs/test_infer_full \ | |
| --load_checkpoint_dir weight/release_data/checkpoint \ | |
| --N_sample 10 \ | |
| --N_step 400 \ | |
| --dtype bf16 | |
| ``` | |
| This mode only generates binders and does not provide complete AF2/Protenix filtering results. | |
| ### 2. Preview Pipeline | |
| Preview mode runs: | |
| ```text | |
| PXDesign generation | |
| -> ProteinMPNN sequence design | |
| -> AF2-IG filtering | |
| ``` | |
| ```bash | |
| pxdesign pipeline \ | |
| --preset preview \ | |
| -i conf/examples/PDL1_quick_start.yaml \ | |
| -o runs/test_preview \ | |
| --load_checkpoint_dir weight/release_data/checkpoint \ | |
| --N_sample 2 \ | |
| --N_step 100 \ | |
| --dtype bf16 \ | |
| --use_fast_ln False \ | |
| --use_deepspeed_evo_attention False | |
| ``` | |
| Preview mode is suitable for: | |
| - initial validation of the complete pipeline; | |
| - checking whether the hotspot/crop settings are reasonable; | |
| - assessing the difficulty of the current design task; | |
| - running a small pilot experiment before a large-scale Extended task. | |
| ### 3. Extended Pipeline | |
| Extended mode is the official PXDesign workflow for complete evaluation: | |
| ```text | |
| PXDesign generation | |
| -> ProteinMPNN | |
| -> AF2-IG | |
| -> Protenix | |
| -> summary.csv | |
| ``` | |
| #### Small-Scale Validation | |
| ```bash | |
| pxdesign pipeline \ | |
| --preset extended \ | |
| -i conf/examples/PDL1_quick_start.yaml \ | |
| -o runs/test_extended \ | |
| --load_checkpoint_dir weight/release_data/checkpoint \ | |
| --N_sample 2 \ | |
| --N_step 100 \ | |
| --dtype bf16 \ | |
| --use_fast_ln False \ | |
| --use_deepspeed_evo_attention False | |
| ``` | |
| #### Quick Start Scale | |
| The official Quick Start example uses: | |
| ```text | |
| N_sample = 10 | |
| N_step = 400 | |
| ``` | |
| ```bash | |
| pxdesign pipeline \ | |
| --preset extended \ | |
| -i conf/examples/PDL1_quick_start.yaml \ | |
| -o runs/test_extended_N10 \ | |
| --load_checkpoint_dir weight/release_data/checkpoint \ | |
| --N_sample 10 \ | |
| --N_step 400 \ | |
| --dtype bf16 \ | |
| --use_fast_ln False \ | |
| --use_deepspeed_evo_attention False | |
| ``` | |
| ## Output Description | |
| The core results from Extended mode are typically located at: | |
| ```text | |
| <OUT_DIR>/ | |
| βββ design_outputs/ | |
| βββ <task_name>/ | |
| βββ summary.csv | |
| βββ task_info.json | |
| βββ server_extended_mode.png | |
| βββ orig_designed/ | |
| βββ passing-AF2-IG-easy/ | |
| βββ passing-Protenix-basic/ | |
| ``` | |
| If no designs pass the corresponding filters, the `passing-AF2-IG-easy/` or `passing-Protenix-basic/` directories may not be generated. This is normal for small-sample tests. | |
| # Official OneScience Information | |
| | Platform | Main OneScience repository | Skills repository | | |
| | --- | --- | --- | | |
| | Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills | | |
| | GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills | | |
| # Citation and License | |
| If you use PXDesign in research, cite the official PXDesign paper: | |
| ```bibtex | |
| @article{ren2025pxdesign, | |
| title={PXDesign: Fast, Modular, and Accurate De Novo Design of Protein Binders}, | |
| author={Ren, Milong and Sun, Jinyuan and Guan, Jiaqi and Liu, Cong and | |
| Gong, Chengyue and Wang, Yuzhe and Wang, Lan and Cai, Qixu and | |
| Chen, Xinshi and Xiao, Wenzhi}, | |
| journal={bioRxiv}, | |
| pages={2025--08}, | |
| year={2025}, | |
| publisher={Cold Spring Harbor Laboratory} | |
| } | |
| ``` | |
| The complete PXDesign pipeline also depends on methods such as Protenix, ProteinMPNN, and AF2-IG. If you use these modules in research, also cite the corresponding original works as described in the official PXDesign README. | |
| Protenix: | |
| ```bibtex | |
| @article{bytedance2025protenix, | |
| title={Protenix - Advancing Structure Prediction Through a Comprehensive AlphaFold3 Reproduction}, | |
| author={ByteDance AML AI4Science Team and Chen, Xinshi and Zhang, Yuxuan | |
| and Lu, Chan and Ma, Wenzhi and Guan, Jiaqi and Gong, Chengyue | |
| and Yang, Jincai and Zhang, Hanyu and Zhang, Ke and Wu, Shenghao | |
| and Zhou, Kuangqi and Yang, Yanping and Liu, Zhenyu and Wang, Lan | |
| and Shi, Bo and Shi, Shaochen and Xiao, Wenzhi}, | |
| year={2025}, | |
| journal={bioRxiv}, | |
| publisher={Cold Spring Harbor Laboratory}, | |
| doi={10.1101/2025.01.08.631967} | |
| } | |
| ``` | |
| ProteinMPNN: | |
| ```bibtex | |
| @article{dauparas2022robust, | |
| title={Robust deep learning--based protein sequence design using ProteinMPNN}, | |
| author={Dauparas, Justas and Anishchenko, Ivan and Bennett, Nathaniel | |
| and Bai, Hua and Ragotte, Robert J and Milles, Lukas and others}, | |
| journal={Science}, | |
| volume={378}, | |
| number={6615}, | |
| pages={49--56}, | |
| year={2022} | |
| } | |
| ``` | |
| AF2-IG: | |
| ```bibtex | |
| @article{bennett2023improving, | |
| title={Improving de novo protein binder design with deep learning}, | |
| author={Bennett, Nathaniel R and Coventry, Brian and Goreshnik, Inna | |
| and Huang, Buwei and Allen, Aza and Vafeados, Dionne and others}, | |
| journal={Nature Communications}, | |
| volume={14}, | |
| number={1}, | |
| pages={2625}, | |
| year={2023} | |
| } | |
| ``` | |
| The official PXDesign repository is released under the **Apache License 2.0**. According to the official README, this license permits academic research and commercial use. Use, modification, and redistribution of the code must comply with the specific terms in this project's `LICENSE`. | |
| In addition: | |
| - AlphaFold2/AF2 weights and related resources are subject to their respective licenses and terms of use. | |
| - ProteinMPNN is subject to the license of its official repository. | |
| - Protenix is subject to the license of its official repository. | |
| - Models and data resources reused through SCNet shared directories remain subject to the authorization conditions of their respective original resources. | |
| For papers, reports, or public releases, also cite PXDesign, Protenix, ProteinMPNN, AF2-IG, and any other third-party models and data resources actually used. | |