File size: 2,696 Bytes
3ac1d94 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #/bin/bash
source ${ROCM_PATH}/cuda/env.sh
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib/python3.11/site-packages/fastpt/torch/lib:$LD_LIBRARY_PATH"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)"
echo "ONESCIENCE_PATH:" $PROJECT_ROOT
#source ${PROJECT_ROOT}/env.sh
echo ${ONESCIENCE_DATASETS_DIR}
echo ${ONESCIENCE_MODELS_DIR}
#cd ${PROJECT_ROOT}/examples/biosciences/targetdiff
export PYTHONPATH=${PROJECT_ROOT}/src:$(pwd):$PYTHONPATH
if [[ $# -gt 0 && "$1" != --* ]]; then
CONFIG_PATH=$1
CONFIG_OVERRIDES=("${@:2}")
else
CONFIG_PATH=configs/prop/pdbbind_general_egnn.yml
CONFIG_OVERRIDES=("$@")
fi
PDBBIND_SOURCE=${PDBBIND_SOURCE:-${ONESCIENCE_DATASETS_DIR}/targetdiff/data/pdbbind_v2020}
CORESET_PATH=${CORESET_PATH:-${ONESCIENCE_DATASETS_DIR}/targetdiff/data/pdbbind_v2016/coreset}
PROCESSED_ROOT=${PROCESSED_ROOT:-${ONESCIENCE_DATASETS_DIR}/targetdiff/data/pdbbind_v2020_processed}
POCKET_ROOT=${PROCESSED_ROOT}/pocket_10_refined
INDEX_PATH=${POCKET_ROOT}/index.pkl
SPLIT_PATH=${POCKET_ROOT}/split.pt
mkdir -p ${PROCESSED_ROOT}
## Extract protein binding pockets from the PDBbind refined set for downstream property prediction.
python scripts/property_prediction/extract_pockets.py \
--source ${PDBBIND_SOURCE} \
--dest ${PROCESSED_ROOT} \
--subset refined \
--num_workers 16
## Split the PDBbind dataset into train/validation/test sets using the predefined coreset index.
python scripts/property_prediction/pdbbind_split.py \
--split_mode coreset \
--index_path ${INDEX_PATH} \
--test_path ${CORESET_PATH} \
--save_path ${SPLIT_PATH}
## Train a TargetDiff-based property prediction model on the PDBbind pocket dataset with the specified configuration.
python scripts/property_prediction/train_prop.py ${CONFIG_PATH} \
--device cuda \
--logdir ./logs_prop \
--tag targetdiff_prop_train \
--dataset.path ${POCKET_ROOT} \
--dataset.split ${SPLIT_PATH} \
--dataset.name pdbbind \
--dataset.heavy_only true \
--train.seed 2021 \
--train.batch_size 4 \
--train.num_workers 4 \
--train.max_epochs 200 \
--train.report_iter 200 \
--train.val_freq 1 \
--train.pos_noise_std 0.1 \
--train.max_grad_norm 10. \
--train.optimizer.type adam \
--train.optimizer.lr 1.e-4 \
--train.optimizer.weight_decay 0 \
--train.optimizer.beta1 0.99 \
--train.optimizer.beta2 0.999 \
--train.scheduler.type plateau \
--train.scheduler.factor 0.6 \
--train.scheduler.patience 10 \
--train.scheduler.min_lr 1.e-5 \
"${CONFIG_OVERRIDES[@]}"
|