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_kipoipython 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
kipoibinary 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