Using ngsplot to make stacked heatmaps and profiles of genes or genomic regions (like ChIP-seq peaks)

ngsplot is a great tool to make heatmaps and profiles of mapped reads (i.e. bam files of RNA-seq, ChIP-seq etc) across genes, transcription starts sites or other regions of interest. The regions used can be genes included on the ngsplot annotation or custom regions included on a bed file.

  • Here is an example of a ngsplot command using custom regions
            bsub ngs.plot.r -G hg19 -R bed -L 3000 -C config.txt -O Peak_Summits
            * Example of the tab delimited config.txt file
             TF1.sorted.bam	      peaks.SUMMIT.bed	"TF1" 
             TF2.sorted.bam	      peaks.SUMMIT.bed	"TF2" 
             Pol2.sorted.bam      peaks.SUMMIT.bed	"Pol2" 
  • Here is an example of a ngsplot command using gene annotations within the ngsplot package
#using transcription start sites (tss)
bsub ngs.plot.r -G hg19 -R tss -L 3000 -C config.txt -O ngsplot_tss

#using gene body
bsub ngs.plot.r -G hg19 -R genebody -L 3000 -C config.txt -O ngsplot_tss

ngsplot uses a two-step normalization: i) coverage vectors' length i.e. gene length and ii) library size. ngsplot: How Are Y-axis Vals Calculated