Metadata-Version: 2.1
Name: chemprobe
Version: 0.1.1
Summary: A package for chemprobe
Home-page: https://github.com/keiserlab/chemprobe
Author: William Connell
Author-email: connell@keiserlab.org
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: pandas (==1.5.1)
Requires-Dist: scikit-learn (==1.1.3)
Requires-Dist: pytorch-lightning (==1.5.8)
Requires-Dist: optuna (==2.10.1)
Requires-Dist: rdkit (==2022.9.5)
Requires-Dist: thunor (==0.1.29)
Requires-Dist: kneed (==0.8.2)
Requires-Dist: captum (==0.7.0)
Requires-Dist: torchmetrics (==0.10.3)
Requires-Dist: gdown (==4.6.0)

# chemprobe

## installation
```
pip install chemprobe
```

## download data
```
bash download_data.sh
```

## preprocess
```
python preprocess.py \
    --data_path ../data
```

## train
```
python train.py \
    --name TEST \
    --exp film \
    --fold 0 \
    --n_blocks 4 \
    --data_path ../data/preprocessed \
    --batch_size 16384 \
    --gpus 0,1,2,3 \
    --num_workers 4 \
    --lr 1e-3
```

permuted label model
```
python train.py \
--study_path /scratch/wconnell/danger/chemprobe/optuna/exp=film/fold=0/ \
--data_path ../data/preprocessed \
--name perm-fold=0 \
--exp film \
--fold 0 \
--max_epochs 5 \
--batch_size 16384 \
--gpus 3, \
--permute_labels
```

## optimize
```
python optimize.py \
    --study_path /srv/danger/scratch/wconnell/chemprobe/optuna/ \
    --data_path ../data/preprocessed \
    --exp film \
    --fold 0 \
    --n_trials 20 \
    --prune \
    --batch_size 16384 \
    --gpus 1,
```

## predict
```
python predict.py \
    --cpds ceranib-2 CAY10618 \
    --data_path ../data/hani \
    --batch_size 128 \
    --gpus 2,
```

