Skip to content

okartal/population_epigenetics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mathematical Modeling of Population Epigenetics

The aim of the project is to use Bayesian inference on a graphical model to estimate the propensity to gain or loose DNA methylation. This repository contains the data analysis pipeline (in snakemake) to get the data for the model based on (possibly multiplexed) bisulfite sequencing data.

Prerequisites

  • conda (miniconda3 or anaconda3)

Instructions

  • To make a local copy ready to run, do the following steps only once:

    git clone [email protected]:okartal/population_epigenetics.git
    cd population_epigenetics
    conda-env create -f requirements.yaml
  • To run the pipeline on test data:

    1. Download the test data from here and move the content into test/data/primary/.
    2. Activate the pop-epi conda environment:
      conda activate pop-epi
    3. Run the test:
      cd test/
      snakemake -pj --use-conda --snakefile ../code/Snakefile
  • To run the pipeline on real data:

    1. Set up your project folder with the following folders and files (structure of data folder is similar to test/, you can use symbolic links in data/primary):
      .
      ├── data
          ├── primary
              ├── multiplex_samples.csv
              ├── multiplex_units.csv
              ├── <genome data>
          ├── results
              ├── config.yaml
    2. Adapt the CSVs and the config file params and threads directives. Set up additional results folders with their own config.yaml to store runs with different configurations. However, do not change the data directive in the config file, that would break the workflow!
    3. Ensure that the pop-epi environment is active.
    4. Run the pipeline from the appropriate results folder:
      cd <path/to/your/project/folder>/data/results_XY/
      snakemake -pj --use-conda --snakefile <path/to/Snakefile/from/this/repo>