TiDE-Ab: De Novo Epitope-Specific Antibody Design via $SE(3)$ Flow Matching with Time-Dependent Guidance
TiDE-Ab introduces a robust generative framework for de novo epitope-specific antibody design.
By leveraging Conditional
TiDE-Ab demonstrates high practical utility by navigating complex therapeutic design scenarios that require programmable binding specificity. By successfully targeting a wide range of user-defined epitopes on the same antigen —from highly selective patches to broad conserved surfaces— TiDE-Ab ensures generated backbones strictly adhere to precise geometric constraints, transforming de novo design into a highly controllable and programmable engineering process.
Case Study 1: TGF-β![]() TGF-β3 Selective vs. Pan-TGF-β |
Case Study 2: IL-17A![]() IL-17A/F Dual vs. IL-17A Selective |
Select an installation method based on your environment. Conda is highly recommended for a clean setup. These guides assume you are using CUDA 12.4.
Best if your system supports CUDA 12.4. This sets up everything in one command.
# Create and activate conda environment
conda env create -f environment.yml
conda activate tideabBest for custom setups or different CUDA versions.
1. Environment Setup
conda create -n tideab python=3.10 -y
conda activate tideab2. Install PyTorch & Specialized Packages (Change cu124 to cu118 or other versions if necessary)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install torch-scatter -f https://data.pyg.org/whl/torch-$(python -c "import torch; print(torch.__version__.split('+')[0])")+cu124.html3. Install Remaining Dependencies
pip install -r requirements.txtThe model is trained on antibody-antigen complexes from the SAbDab database (cutoff: April 30, 2020). The dataset is managed through metadata files in data/splits/.
├── data
│ └── splits
│ ├── metadata_train.csv
│ ├── metadata_val.csv
│ └── metadata_test.csvThe metadata files in data/splits/ follow this schema:
| Column | Description |
|---|---|
| pdb_name | Unique identifier for the complex (e.g., 1yy9_D_C_A). |
| num_chains | Total number of chains in the structure. |
| seq_len | Total sequence length of the complex. |
| cluster | Interaction cluster ID used for balanced sampling. |
Run with default settings or override parameters via command line:
python train.py experiment.optimizer.lr=0.0005 # (Optional) parameter override1. Download Pre-trained Weights
Download weights.pt and place it in any directory of your choice (e.g., checkpoints/).
2. Run Inference on Test Set Provide the path to your weights and the desired output directory as arguments:
python inference.py weight_path=<PATH_TO_WEIGHTS> inference_dir=<OUTPUT_DIR>This codebase is developed based on the FrameFlow repository. We thank the original authors for their pioneering work on


