Official repository for PreFold-dG.
This code is tested using the following environment:
python==3.12
pytorch==2.6.0
numpy==2.4.2
pandas==2.2.3
scipy==1.13.1
scikit-learn==1.6.1
biopython==1.84
tqdm==4.67.1
Raw data can be preprocessed with the provided notebook process_data.ipynb.
We share preprocessed files for the datasets used in the paper. Due to file size, they are hosted externally:
| File | Link |
|---|---|
processed_data/skempi_mut.pkl |
Download |
processed_data/skempi_wt.pkl |
Download |
processed_data/her2.pkl |
Download |
Split and group files under data/ are derived from the following sources:
| File | Source |
|---|---|
data/split/rdenet.csv |
RDE-PPI |
data/split/ppiformer.csv |
PPIRef |
data/split/gearbind.csv |
GearBind |
data/group/prot2cplx.csv |
PPIformer |
python main.py --config config/skempi.yamlAny config option can be overridden via CLI arguments:
python main.py --config config/skempi.yaml --epochs 100See Configuration for the full list of options.
YAML config files define model architecture, training hyperparameters, and data/split settings.
| Parameter | Description |
|---|---|
train_data |
Training dataset name |
test_data |
Optional external test dataset |
split |
Path to fold assignment CSV (PDB,fold). If omitted, a random 3-fold split is generated |
train_folds |
List of folds to use as hold-out pool. If omitted, all folds are used |
test_fold |
Fixed test fold index |
group_map |
Optional CSV for grouping (PDB,group) |
group_min_size |
Minimum group size for group-level metrics |
See config/ for examples: skempi.yaml (cross-validation), ppiformer.yaml (fixed test fold), her2.yaml (external test set).
TBA
This project is licensed under the BSD-3-Clause-LG AI Research License.