Skip to content

dhanjal-lab/graphB3

Repository files navigation

GraphB3

GraphB3 is a Graph Convolutional Network (GCN)-based model designed to predict the Blood-Brain Barrier (BBB) permeability of chemical compounds. In addition to predictions, GraphB3 highlights the substructures within a compound that contribute to its permeability status (BBB+ or BBB-) using GNNExplainer.

  • BBB+ (permeable) substructures are highlighted in red.
  • BBB- (non-permeable) substructures are highlighted in blue.

Features

  • Accurate BBB permeability prediction using graph neural networks.
  • Explainability via GNNExplainer to highlight contributing substructures.
  • Simple CLI usage for batch predictions.

Installation & Dependencies

GraphB3 has been tested on Ubuntu 22.04.5 LTS.

Required Dependencies

Ensure the following packages are installed:

pip install numpy pandas matplotlib torch torchmetrics torch_geometric mxnet deepchem rdkit

Verified versions:

  • numpy: 1.26.4
  • pandas: 1.5.3
  • logging: 0.5.1.2
  • matplotlib: 3.8.2
  • rdkit: 2022.09.5
  • torch: 2.2.0+cu121
  • mxnet: 1.9.1
  • torchmetrics: 1.3.0.post0
  • torch_geometric: 2.5.0

Getting Started

Required Files

To use GraphB3, download and place the following files in the same directory:

  1. deepchem_utils.py - Feature extraction from SMILES input.
  2. best_mcc_model_weights.pth - Pretrained GraphB3 model weights.
  3. graphb3.py - Main script for running GraphB3.
  4. bbb_test_smiles_sample.csv - Input file containing SMILES data.

Running GraphB3

Use the following command to run GraphB3:

python graphb3.py \
    --input_csv /path/to/bbb_test_smiles_sample.csv \
    --model_weights /path/to/best_mcc_model_weights.pth \
    --results_csv /path/to/results/bbb_example_results.csv \
    --output_dir /path/to/results \
    > output.log &

Notes:

  • Input molecules must be in SMILES format and stored in a .csv file.
  • The progress can be monitored via output.log.

Output

  • Prediction results will be saved in bbb_example_results.csv.
  • Highlighted substructures will be stored in the GraphB3_figures/ directory.

Contributing

If you would like to contribute to GraphB3, feel free to submit an issue or a pull request.


Citation

If you use GraphB3 in your research, please cite the relevant paper (paper link and citation).


Contact

For questions or issues, please open a GitHub issue or contact the maintainers.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages