README.md

August 23, 2024 ยท View on GitHub

TaxDiff: Taxonomic-Guided Diffusion Model for Protein Sequence Generation

arXiv License HuggingFace Data License

If you like our project, please give us a star โญ on GitHub for latest update.

The official code for "TaxDiff: Taxonomic-Guided Diffusion Model for Protein Sequence Generation". Here we publish the inference code of TaxDiff. The training code & Protein sequence with Taxonomic lables dataset will be released after our paper is accepted.

๐Ÿ’ก I also have other AI for Science projects that may interest you โœจ.

ProLLaMA: A Protein Large Language Model for Multi-Task Protein Language Processing
Liuzhenghao Lv, Zongying Lin, Li Hao, Yuyang Liu, Jiaxi Cui, Calvin Yu-Chian Chen, Li Yuan, Yonghong Tian
github
arXiv

๐Ÿ˜ฎ Highlights

๐Ÿ’ก Protein sequences Generation Model

  • To the best of our knowledge, our TaxDiff is the first controllable protein generation model utilizing guidance from taxonomies.

๐Ÿ”ฅ Diffusion-based Framework

  • TaxDiff proposes a taxonomic-guided framework that fits all diffusion-based protein design models. We also propose the patchify attention mechanism for better protein design.

โญ Excellent performance

  • Experiments demonstrate that our TaxDiff achieves state-of-the-art results in both taxonomic-guided controllable and unconditional protein sequence generation, excelling in structural modeling scores and sequence consistency.

๐Ÿš€ Main Results

More detailed results can be found in our paper.

Unconditional Generation

Controllable Generation

๐Ÿ“– Data Preparation

For inference, please download from HuggingFace. Unzip it and put the ckpt into the folder ckpt/

ckpt/0012802_eval.ckpt

Our dataset can download from HuggingFace.

uniref50_200_256_clean_taxnomic_family_tid__filter_layer6.fasta

We will release protein sequences with taxonmic labels for training procedure once our paper is accepted.

If you want to select a specific protein taxonomic for your research, you need to first find his corresponding tax-id in the data_reader/Taxonnmic_classfication.xlsx, and then modify protein class lables in the sample_protein.py.

class_lables = torch.randint(low=1, high=int(23427), size=(1,num))

๐Ÿ› ๏ธ Requirements and Installation

  • Python == 3.10
  • Pytorch == 2.2.0
  • Torchvision == 0.17.0
  • CUDA Version == 12.0
  • Install required packages:
git clone git@[github.com/Linzy19/TaxDiff.git]
cd TaxDiff
pip install -r requirements.txt

๐Ÿ—๏ธ Inferencing

The inferencing instruction is in sample_protein.py.

python sample_protein.py --model DiT-pro-12-h6-L16 --cuda-num cuda:0 --num 500

โœ๏ธ Citation

If you find our paper and code useful in your research, please consider giving a star :star: and citation :pencil:.

@article{zongying2024taxdiff,
  title={TaxDiff: Taxonomic-Guided Diffusion Model for Protein Sequence Generation},
  author={Zongying, Lin and Hao, Li and Liuzhenghao, Lv and Bin, Lin and Junwu, Zhang and Yu-Chian, Chen Calvin and Li, Yuan and Yonghong, Tian},
  journal={arXiv preprint arXiv:2402.17156},
  year={2024}
}