Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
EquiDock: geometric deep learning for fast rigid 3D protein-protein docking
| Date | Stars |
|---|---|
| 2026-07-31 | 259 |
| 2026-08-05 | 259 |
| 2026-08-06 | 259 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Source code for EquiDock: Independent SE(3)-Equivariant Models for End-to-End Rigid Protein Docking (ICLR 2022)

Please cite
```angular2html
@article{ganea2021independent,
title={Independent SE (3)-Equivariant Models for End-to-End Rigid Protein Docking},
author={Ganea, Octavian-Eugen and Huang, Xinyuan and Bunne, Charlotte and Bian, Yatao and Barzilay, Regina and Jaakkola, Tommi and Krause, Andreas},
journal={arXiv preprint arXiv:2111.07786},
year={2021}
}
```
## Dependencies
Current code works on Linux/Mac OSx only, you need to modify file paths to work on Windows.
```
python==3.9.10
numpy==1.22.1
cuda==10.1
torch==1.10.2
dgl==0.7.0
biopandas==0.2.8
ot==0.7.0
rdkit==2021.09.4
dgllife==0.2.8
joblib==1.1.0
```
## DB5.5 data
The raw DB5.5 dataset was already placed in the `data` directory from the original source:
```
https://zlab.umassmed.edu/benchmark/ or https://github.com/drorlab/DIPS
```
The raw pdb files of DB5.5 dataset are in the directory `./data/benchmark5.5/structures`
Then preprocess the raw data as follows to prepare data for rigid body docking:
```
# prepare data for rigid body docking
python preprocess_raw_data.py -n_jobs 40 -data db5 -graph_nodes residues -graph_cutoff 30 -graph_max_neighbor 10 -graph_residue_loc_is_alphaC -pocket_cutoff 8
```
By default, `preprocess_raw_data.py` uses 10 neighbor for each node when constructing
the graph and uses only residues (coordinates being those of the alpha carbons). After running `preprocess_raw_data.py` you will get following
ready-for-training data directory:
```
./cache/db5_residues_maxneighbor_10_cutoff_30.0_pocketCut_8.0/cv_0/
```
with files
```
$ ls cache/db5_residues_maxneighbor_10_cutoff_30.0_pocketCut_8.0/cv_0/
label_test.pkl label_val.pkl ligand_graph_train.bin receptor_graph_test.bin receptor_graph_val.bin
label_train.pkl ligand_graph_test.bin ligand_graph_val.bin receptor_graph_train.bin
```
## DIPS data
Download the dataset (see `https://github.com/drorlab/DIPS` and `https://github.com/amorehead/DIPS-Plus`) :
```angular2html
mkdir -p ./DIPS/raw/pdb
rsync -rlpt -v -z --delete --port=33444 \
rsync.rcsb.org::ftp_data/biounit/coordinates/divided/ ./DIPS/raw/pdb
```
Follow the following first steps from `https://github.com/amorehead/DIPS-Plus` :
```angular2html
# Create data directories (if not already created):
mkdir project/datasets/DIPS/raw project/datasets/DIPS/raw/pdb project/datasets/DIPS/interim project/datasets/DIPS/interim/external_feats project/datasets/DIPS/final project/datasets/DIPS/final/raw project/datasets/DIPS/final/processed
# Download the raw PDB files:
rsync -rlpt -v -z --delete --port=33444 --include='*.gz' --include='*.xz' --include='*/' --exclude '*' \
rsync.rcsb.org::ftp_data/biounit/coordinates/divided/ project/datasets/DIPS/raw/pdb
# Extract the raw PDB files:
python3 project/datasets/builder/extract_raw_pdb_gz_archives.py project/datasets/DIPS/raw/pdb
# Process the raw PDB data into associated pair files:
python3 project/datasets/builder/make_dataset.py project/datasets/DIPS/raw/pdb project/datasets/DIPS/interim --num_cpus 28 --source_type rcsb --bound
# Apply additional filtering criteria:
python3 project/datasets/builder/prune_pairs.py project/datasets/DIPS/interim/pairs project/datasets/DIPS/filters project/datasets/DIPS/interim/pairs-pruned --num_cpus 28
```
Then, place file `utils/partition_dips.py` in the `DIPS/src/` folder, use the `pairs-postprocessed-*.txt` files for the actual data splits used in our paper,
and run from the `DIPS/` folder the command: `python src/partition_dips.py data/DIPS/interim/pairs-pruned/`. This creates the corresponding train/test/validation splits
(again, using the exact splits in `pairs-postprocessed-*.txt`) of the 42K filtered pairs in DIPS. You should now have the following directory:
```angular2html
$ ls ./DIPS/data/DIPS/interim/pairs-pruned
0g a6 aExcerpt of 11,016 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:6fb21ab4b5ebe49b, topic:drug-discovery, desc:protein, readme:protein