Skip to content

Pipeline for predicting ChIP-seq peaks in novel cell types using chromatin accessibility

Notifications You must be signed in to change notification settings

YosefLab/epitome

Repository files navigation

pypi docs Build status Codacy Badge

Epitome

Pipeline for predicting ChIP-seq peaks in novel cell types using chromatin accessibility.

Epitome Diagram

Epitome leverages chromatin accessibility (either DNase-seq or ATAC-seq) to predict epigenetic events in a novel cell type of interest. Such epigenetic events include transcription factor binding sites and histone modifications. Epitome computes chromatin accessibility similarity between ENCODE cell types and the novel cell type, and uses this information to transfer known epigentic signal to the novel cell type of interest.

Citation

Morrow et al., NAR, Volume 49, Issue 19, 8 November 2021, Page e110

Documentation

Epitome documentation is hosted at readthedocs. Documentation for Epitome includes tutorials for creating Epitome datasets, training, testing, and evaluated models.

Requirements

Setup and Installation

  1. Create and activate a conda environment:
conda create --name EpitomeEnv python=3.7 pip
source activate EpitomeEnv
  1. Install Epitome:
pip install epitome

Training a Model

First, create an Epitome dataset that defines the cell types and ChIP-seq targets you want to train on,

    from epitome.dataset import *

    targets = ['CTCF','RAD21','SMC3']
    celltypes = ['K562', 'A549', 'GM12878']

    dataset = EpitomeDataset(targets=targets, cells=celltypes)

Now, you can create and train your model:

    from epitome.models import *

    model = EpitomeModel(dataset, test_celltypes = ["K562"])
    model.train(5000) # train for 5000 batches

Evaluate a Model:

   model.test(1000) # evaluate how well the model performs on a validation chromosome

Using Epitome on your own dataset:

Epitome can perform genome wide predictions or region specific predictions on a sample that has either DNase-seq or ATAC-seq.

To score specific regions:

   chromatin_peak_file = ... # path to peak called ATAC-seq or DNase-seq in bed format
   regions_file = ...        # path to bed file of regions to score
   results = model.score_peak_file([chromatin_peak_file], regions_file)

To score on the whole genome:

   chromatin_peak_file = ... # path to peak called ATAC-seq or DNase-seq in bed format
   file_prefix = ...        # file to save compressed numpy predictions to.
   model.score_whole_genome([chromatin_peak_file], file_prefix)

Install Epitome for development

To build Epitome for development, run:

make develop

Running unit tests

make test