omics.co.in logo omics.co.in

10. Epigenomics (ChIP-seq, ATAC-seq, Methyl-seq)

⚡ Category 10 of 14  ·  🧬 9 Primary Tools

Profiling chromatin accessibility, transcription factor binding sites, histone post-translational modifications, and base-resolution DNA cytosine methylation dynamics.

🔍 Ctrl + K

10. Epigenomics (ChIP-seq, ATAC-seq, Methyl-seq)

9 Primary Tools

Chromatin accessibility (ATAC-seq), transcription factor occupancy, histone modifications (ChIP-seq), and DNA methylation (WGBS / Oxford Nanopore native 5mC).

ToolPrimary Role & PurposeSupported PlatformsExecutable Pipeline
MACS2 / MACS3 →Model-based peak calling for narrow (TFs) and broad (histone) marksChIP-Seq & ATAC-SeqView Code ↓
HOMER →Peak finding, motif enrichment discovery, and regulatory element analysisChIP-Seq & ATAC-SeqView Code ↓
Genrich →Peak caller tailored specifically for ATAC-seq (handles unpaired Tn5 cuts)ATAC-Seq / DNase-seqView Code ↓
ArchR →Comprehensive, scalable scATAC-seq data processing and integrationscATAC-Seq (R)View Code ↓
Signac →Seurat extension for analyzing single-cell chromatin datascATAC-Seq & MultiomeView Code ↓
Bismark →Bisulfite read mapping and cytosine methylation extraction (WGBS/RRBS)WGBS / RRBSView Code ↓
Bismark2 / Bwa-meth →Fast alignment of bisulfite-treated reads using BWA-MEMWGBS (Illumina)View Code ↓
methylKit / DMRcaller →Identification of differentially methylated regions (DMRs) in RBisulfite-Seq (R)View Code ↓
Modkit / Megalodon →Basecalling and detection of 5mC, 5hmC, and 6mA from raw ONT signalsOxford NanoporeView Code ↓
🌐 Extended Epigenomics & Chromatin Ecosystem: ChIP / ATAC / Methylation / Hi-C
Peak Calling & Footprinting: MACS2 / MACS3, SEACR, Genrich, HMMRATAC, DiffBind, ChIPseeker, TOBIAS, MEME Suite, chromVAR
DNA Methylation (WGBS / ONT): Bismark, bwa-meth, MethylDackel, methylKit, DSS, minfi (arrays), modkit, Nanopolish
3D Chromatin & Hi-C: HiC-Pro, Juicer, Juicebox, cooler, HiCExplorer, Pairtools, FAN-C
Curated Pipelines: nf-core/chipseq, nf-core/atacseq, nf-core/cutandrun
🏔️

Model-Based ChIP-Seq & ATAC-Seq Peak Calling

MACS Benchmark Narrow & Broad Peaks

Model-based Analysis of ChIP-Seq (MACS3) captures the dynamic Poisson distribution of read counts across local genomic backgrounds to identify punctate transcription factor binding summits or broad histone mark enrichment domains.

# 1. ATAC-Seq Open Chromatin Peak Calling (shifted for Tn5 insertion)
macs3 callpeak \
  -t atac_aligned.bam \
  -f BAMPE -g hs \
  -n atac_sample \
  --nomodel --shift -100 --extsize 200 \
  --qvalue 0.01 \
  --outdir macs3_atac_peaks/

# 2. Transcription Factor Narrow Peak Calling with Input Control
macs3 callpeak \
  -t chip_tf.bam -c input_control.bam \
  -f BAM -g hs \
  -n tf_narrow \
  --qvalue 0.05 \
  --outdir macs3_tf_peaks/

# 3. Broad Histone Mark Peak Calling (H3K27me3, H3K36me3)
macs3 callpeak \
  -t chip_h3k27me3.bam -c input_control.bam \
  -f BAM -g hs \
  --broad --broad-cutoff 0.1 \
  -n h3k27me3_broad \
  --outdir macs3_broad_peaks/
Key Flags: --shift -100 --extsize 200 centers ATAC signals directly on Tn5 cleavage cut sites; --broad merges nearby significant sub-peaks into broad chromatin domains.
🧬

De Novo Motif Discovery & Regulatory Annotation

Motif Discovery Regulatory Annotation

Hypergeometric Optimization of Motif EnRichment (HOMER) discovers de novo and known transcription factor binding motifs in ChIP-seq and ATAC-seq peak summits and annotates peaks with distance to nearest transcription start sites (TSS).

# 1. Discover enriched transcription factor motifs in peak summits
findMotifsGenome.pl \
  atac_sample_peaks.narrowPeak \
  hg38 \
  homer_motifs_out/ \
  -size 200 \
  -mask \
  -p 12

# 2. Annotate peaks with nearest genes and genomic features
annotatePeaks.pl \
  atac_sample_peaks.narrowPeak \
  hg38 \
  > peak_gene_annotations.txt
Key Flags: -size 200 scans a 200 bp window centered on peak summits; -mask masks repetitive sequences to eliminate false low-complexity motifs.
⚔️

ATAC-Seq Dedicated Log-p Value Peak Calling

ATAC-Seq Tailored Tn5 Cut Sites

Genrich is a peak caller designed specifically for ATAC-seq and DNase-seq data. It analyzes aligned paired-end reads directly from queryname-sorted BAMs, natively handling cut site intervals, unpaired cut ends, and mitochondrial exclusions.

# 1. Sort BAM by queryname (required by Genrich)
samtools sort -n -@ 8 -o atac_qsorted.bam atac_aligned.bam

# 2. Call peaks in ATAC mode with mitochondrial removal
Genrich \
  -t atac_qsorted.bam \
  -o genrich_peaks.narrowPeak \
  -j \
  -r \
  -e chrM \
  -v \
  -q 0.05
Key Flags: -j activates ATAC-seq cut-site mode; -r removes PCR duplicates on the fly; -e chrM excludes mitochondrial alignments.
🏹

Scalable Disk-Backed Single-Cell ATAC-Seq in R

scATAC-Seq (R) Disk-Backed Arrow

ArchR is a high-performance R package for single-cell chromatin accessibility. By storing data in disk-backed Arrow files, it processes hundreds of thousands of scATAC-seq cells with gene score modeling, peak calling, and trajectory inference.

library(ArchR)
addArchRThreads(threads = 16)
addArchRGenome("hg38")

# 1. Create Arrow files from 10x fragments.tsv.gz
inputFiles <- c("sample_fragments.tsv.gz")
ArrowFiles <- createArrowFiles(inputFiles = inputFiles, sampleNames = c("scATAC"),
                                minTSS = 4, minFrags = 1000, addTileMat = TRUE, addGeneScoreMat = TRUE)

# 2. Build ArchR Project and filter doublets
proj <- ArchRProject(ArrowFiles = ArrowFiles, outputDirectory = "ArchR_out")
proj <- filterDoublets(proj)

# 3. LSI Dimensionality reduction and UMAP
proj <- addIterativeLSI(proj, useMatrix = "TileMatrix", name = "IterativeLSI")
proj <- addClusters(proj, reducedDims = "IterativeLSI", resolution = 0.8)
proj <- addUMAP(proj, reducedDims = "IterativeLSI")
plotEmbedding(proj, colorBy = "cellColData", name = "Clusters")
Key Flags: createArrowFiles(minTSS=4) filters cells with low transcription start site enrichment; addIterativeLSI() performs iterative LSI dimensionality reduction.
🧬

Seurat-Native Single-Cell Chromatin Analysis

Seurat Extension TF-IDF & SVD

Signac is an extension of Seurat for the analysis of single-cell chromatin data (scATAC-seq and 10x Multiome). It performs peak matrix construction, TF-IDF normalization, motif enrichment, and co-embedding with scRNA-seq.

library(Signac)
library(Seurat)

# 1. Create ChromatinAssay from fragment file
counts <- Read10X_h5("filtered_peak_bc_matrix.h5")
chrom_assay <- CreateChromatinAssay(counts = counts, sep = c(":", "-"),
                                     genome = 'hg38', fragments = 'fragments.tsv.gz')
seurat_obj <- CreateSeuratObject(counts = chrom_assay, assay = "peaks")

# 2. Normalization via TF-IDF and SVD (LSI)
seurat_obj <- RunTFIDF(seurat_obj)
seurat_obj <- FindTopFeatures(seurat_obj, min.cutoff = 'q0')
seurat_obj <- RunSVD(seurat_obj)

# 3. UMAP on chromatin components
seurat_obj <- RunUMAP(seurat_obj, reduction = 'lsi', dims = 2:30)
DimPlot(seurat_obj, reduction = "umap")
Key Flags: RunTFIDF() normalizes across cells and genomic peaks; dims = 2:30 excludes 1st component (which often correlates with sequencing depth).
🧪

Bisulfite-Seq Alignment & Cytosine Methylation Extractor

Bisulfite Benchmark CpG / CHG / CHH

Bismark is the benchmark pipeline for mapping bisulfite-treated sequencing reads to in silico transformed genomes and extracting cytosine methylation calls across CpG, CHG, and CHH contexts in WGBS and RRBS assays.

# 1. Prepare in silico bisulfite converted reference genome
bismark_genome_preparation --bowtie2 /ref/GRCh38/

# 2. Align paired-end bisulfite reads
bismark --bowtie2 --multicore 8 /ref/GRCh38/ \
  -1 sample_val_1.fq.gz -2 sample_val_2.fq.gz

# 3. Deduplicate alignments and extract methylation calls
deduplicate_bismark -p --bam sample_val_1_bismark_bt2_pe.bam
bismark_methylation_extractor --paired-end --bedGraph --counts --buffer_size 10G \
  --multicore 8 sample_val_1_bismark_bt2_pe.deduplicated.bam
Key Flags: bismark_genome_preparation creates C->T and G->A converted indices; bismark_methylation_extractor --bedGraph outputs genome-wide CpG bedGraphs.
⚡

Fast BWA-MEM-Powered Bisulfite Sequence Alignment

BWA-MEM Bisulfite High Throughput

bwameth maps bisulfite-sequenced reads against in silico converted reference genomes using BWA-MEM. It runs substantially faster than legacy bisulfite aligners, scaling easily to whole-genome bisulfite sequencing cohorts.

# 1. Index reference with bwameth
bwameth.py index GRCh38.fa

# 2. Align bisulfite paired-end reads and stream to sorted BAM
bwameth.py -t 16 --reference GRCh38.fa \
  sample_R1.fq.gz sample_R2.fq.gz \
  | samtools sort -@ 4 -o bwameth_aligned.sorted.bam -

# 3. Extract methylation metrics with MethylDackel
MethylDackel extract GRCh38.fa bwameth_aligned.sorted.bam -o sample_methyldackel
Key Flags: bwameth.py -t 16 utilizes vector-accelerated BWA-MEM; MethylDackel extract computes per-CpG methylation fractions.
📊

Differentially Methylated Region (DMR) Statistical Modeling

DMR Identification Logistic Regression

methylKit is an R package for analyzing and comparing DNA methylation profiles from WGBS and RRBS. It performs coverage filtering, normalization, and tests for differentially methylated cytosines (DMCs) and regions (DMRs) using logistic regression.

library(methylKit)

# 1. Read methylation coverage calls
file.list <- list("ctrl1.CpG.txt", "ctrl2.CpG.txt", "treat1.CpG.txt", "treat2.CpG.txt")
myobj <- methRead(file.list, sample.id=list("c1","c2","t1","t2"),
                  assembly="hg38", treatment=c(0,0,1,1), context="CpG")

# 2. Filter by coverage and unite samples
filtered.myobj <- filterByCoverage(myobj, lo.count=10, hi.perc=99.9)
meth <- unite(filtered.myobj, destrand=TRUE)

# 3. Calculate differential methylation using logistic regression
myDiff <- calculateDiffMeth(meth, overdispersion="MN", test="Chisq")
myDiff25p <- getMethylDiff(myDiff, difference=25, qvalue=0.01)
write.csv(as.data.frame(myDiff25p), "significant_dmrs.csv")
Key Flags: calculateDiffMeth(overdispersion="MN") adjusts for biological overdispersion; getMethylDiff(difference=25) filters for >=25% methylation shifts.
⚡

Direct Oxford Nanopore Native DNA Methylation (5mC & 5hmC)

ONT Native Methylation Bisulfite-Free 5mC

modkit is Oxford Nanopore’s official tool for analyzing modified base calls directly from raw electrical currents without chemical bisulfite damage. It parses Mm/Ml BAM tags to produce site-level bedMethyl files for 5mC, 5hmC, and 6mA.

# 1. Aggregate native 5mC/5hmC methylation probabilities into bedMethyl
modkit pileup \
  ont_modified.sorted.bam \
  sample_ont_5mc.bed \
  --cpg \
  --ref GRCh38.fa \
  --threads 16 \
  --combine-strands

# 2. Extract summary statistics of genome-wide methylation
modkit summary ont_modified.sorted.bam --ref GRCh38.fa
Key Flags: --cpg restricts analysis to CpG dinucleotides; --combine-strands sums symmetric top and bottom strand methylation fractions.
← Return to Home Hub
📦 Practice Datasets
🗺️ NGS Data Analysis Process & Workflow Architecture (High-Resolution)
⬇️ Download
NGS Analysis Process Graph Full View