Code accompanying the Kipoi manuscript
- Install miniconda or anaconda.
- Install git-lfs:
conda install -c conda-forge git-lfs && git lfs install
- Clone this repository:
git clone https://github.com/kipoi/manuscript.git && cd manuscript
- Run:
git lfs pull '-I data/**'
- Run:
conda env create -f env.yaml
. This will install a new conda environmentkipoi-manuscript
- Activate the environment:
source activate kipoi-manuscript
- Install the
m_kipoi
python package for this repository :pip install -e .
m_kipoi
- python package (contains python functions/classes common across multiple notebooks)src
- scripts for running the experiments and producing the figurestf-binding
- Figure 2transfer_learnining
- Figure 3mutationmaps
- Figure 4splicing
- Figure 5
data
- data filesmodels/Divergent421
- (optional) Pre-trained DNA accessibility model (Kipoi format)slurm
- (optional) SLURM profile for snakemake https://github.com/Snakemake-Profiles/slurm
- Fig 2 - Making model predictions using a generic command
- With Snakemake, it's possible to write a generic command
and make predictions for all the models
- Each model is executed in a separate conda environment
- Installation rule
- Prediction rule
- Function to get the
kipoi
binary given the conda environment name: get_env_executable
- Each model is executed in a separate conda environment
- With Snakemake, it's possible to write a generic command
and make predictions for all the models
- Fig 3 - Transfer learning:
- Script for performing transfer-learning using a Keras-based model from Kipoi: tlearn.py
- Pre-computing the activations of the frozen part of the network and then training the model pre-computed-tlearn.ipynb
- Fig 4 - Plugins (variant effect prediction and interpretation)
- Generic rule for variant effect prediction (CLI) used for building KipoiSplice/4 (relevant for Fig. 4 and Fig. 5):
- Producing a mutation-map (Figure 4): src/mutationmaps/plot.ipynb
- Fig 5 - Composite models
- Tutorial: http://kipoi.org/docs/tutorials/composing_models/
- Concrete example (KipoiSplice/4): KipoiSplice/4/dataloader.py