Skip to content

Predicting gene expression for single cell perturbation with small molecules using a computational perturbational auto encoder (CPA) and graph neural network (GNN). Utilizing gene coexpression information via a graph.

License

Notifications You must be signed in to change notification settings

28andrew/GraphCPA

Repository files navigation

GraphCPA

This repository has our code for our model GraphCPA and its variants, created for CPSC 483.

Usage

  • Download checkpoint of pretrained molecule encoder from here and place into jeffrey/base_checkpoint.
  • Download de_train.parquet from here and place into the root of the repository.
  • For all training and inference besides from inside the jeffrey (molecule transformer), create and activate a Conda environment from environment.yml. For the variant of the model with the molecule transformer in jeffrey, use transformer_environment.yml.

GraphCPA Base

  • Use finetune.py and inference.py.

GraphCPA + Molecule Transformer

  • Use jeffrey/finetune.py and inference.py for the trainable molecule encoder.
  • Use jeffrey/finetune_fixed.py and inference_fixed.py for the fixed molecule encoder.

GraphCPA + Gene Relationship GCN

  • Use andrew/finetune.py and andrew/inference.py.

GraphCPA + Gene Relationship GCN + Chromatin Attention

  • Use bill/finetune.py and bill/inference.py.

Evaluation

About

Predicting gene expression for single cell perturbation with small molecules using a computational perturbational auto encoder (CPA) and graph neural network (GNN). Utilizing gene coexpression information via a graph.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published