greenelab / pancancer-evaluation

Evaluating genome-wide prediction of driver mutations using pan-cancer data
BSD 3-Clause "New" or "Revised" License
9 stars 3 forks source link
analysis cancer classifier gene-expression genome machine-learning pancancer

pancancer-evaluation

Note: This repository is currently a work in progress, so some aspects of the code/analysis may not be fully described or documented here.

In general, the goal of this project is to follow up on and generalize previous Greene Lab studies predicting driver mutation status from TCGA gene expression data. See previous repos and associated publications here and here for more detail on past work and biological significance/interpretation of mutation prediction from gene expression.

Broad research questions and analysis plan:

Issues are mostly up-to-date for future ideas/research directions (filter by the "research question" tag), as well as known bugs/limitations of the code and evaluation infrastructure (other tags).

Setup

We recommend using the conda environment specified in the environment.yml file to run these analyses. To build and activate this environment, run:

# conda version 4.5.0
conda env create --file environment.yml

conda activate pancancer-evaluation

To make the relative file paths in pancancer_evaluation/config.py work correctly, you'll also need to install the pancancer_evaluation package in development mode:

pip install -e .

(note that currently running pip install . will break the file paths, this will be fixed eventually but at the moment we recommend using the -e/ development flag)

Running tests

Running the tests requires the pytest module (included in the specified Conda environment). Once this module is installed, you can run the tests by executing the command

pytest tests/

from the repo root.

Regenerating test data

If you make changes to the model fitting code, hyperparameters, cross-validation code, etc., you may need to regenerate the model output used for the model regression tests. To do this, you can run the following command from the repo root:

python pancancer_evaluation/scripts/generate_test_data.py --verbose

This will print messages showing which files are being rewritten.