ChIP-Seq TSS Line Plot
9
1
Entering edit mode
6.0 years ago
Seigfried ▴ 80

Hi I am trying to compare the effects of 2 transcription factors. I have the initial data files in .bed format on which I used MACS to get output .bed files again for peak calling.

My genome does not have a specific GTF file and it is not fully annotated so I only have a GFF3 file. AnnotatePeaks.pl of HOMER worked well and I have the TSS binding sites of genes isolated.

My question is

I want to plot a line plot from -1000 to +500 relative to the ATG region of each binding sequence to show the average binding signal over all genes for both the transcription factors. Most of the programs I saw use GTF files which I do not have!

Also is there is a way to combine both the transcription factor peaks together on a single plot? I couldnt really find a tutorial that puts the TSS at ATG at position 0 and makes a graph.

ChIP-Seq • 6.3k views
0
Entering edit mode

Converting gff3 to gtf should not remain a problem. Many tools/scripts are suggested in the forum. Please see if the below method that I usually follow would help you with it.

gff3ToGenePred yourgenemodel.gff yourgenemodel.genePred

genePredToGtf file yourgenemodel.genePred yourgenemodel.gtf

Link for gff3ToGenePred and genePredToGtf : link

0
Entering edit mode

I am not sure if this aligns with what you are trying to do. You can try using https://github.com/shenlab-sinai/ngsplot

3
Entering edit mode
5.9 years ago
Fidel ★ 2.0k

deepTools (http://deeptools.readthedocs.io/en/latest/) plotHeatmap and plotProfile can do what you want, but require either BED or GTF files. The reference point (e.g TSS) can be configured to whatever you want.

1
Entering edit mode
6.0 years ago

If you understand R code, this is my code for doing exactly what you want. I wrote this a while ago so my code is awful but you might be able to pull out some useful stuff! http://rpubs.com/achitsaz/94710

1
Entering edit mode
6.0 years ago
Guangchuang Yu ★ 2.5k

ChIPseeker can do this.

The figure was generated by ChIPseeker and published on PLoS Computational Biology.

0
Entering edit mode

Would you mind sharing the code one can use to change the color scale on these types of plots in ChIPseeker? Thank you!

1
Entering edit mode

see the manual of ?scale_color_manual

0
Entering edit mode

@Guangchuang Yu, can you please help me with this question? Thanks!

0
Entering edit mode

Hi,

I am using ChIPseeker, I used this command to feauture.

promoter <- getBioRegion(TxDb=txdb, by = c('intron'),upstream=100, downstream=100)

I wanted to only take only non-overlapping coordinate for average profile. Any suggestion ?

1
Entering edit mode
5.9 years ago
Chirag Parsania ★ 1.9k

HI,

I have written R script which can probably solve your problem. For given set of genes in bed format, it will give you averaged line plot or even you can generate heatmap for each gene. Script needs two files

1) set of genes in bed format
2) alignement data in .bedgraph format.


Find the script on github https://github.com/cparsania/BinnedPlot. Refer wiki page to know how to run script https://github.com/cparsania/BinnedPlot/wiki

~Chirag.

0
Entering edit mode
6.0 years ago
Seigfried ▴ 80

Thanks for the replies.

I also found Seqmonk Link useful.

0
Entering edit mode
6.0 years ago
Seigfried ▴ 80

@datascientist28

That is exactly what I was looking for although I don't know the format of how your diffReps_output_gene1_X1.txt looks like so that I can similarly modify my own files.

I did not find what I was looking for in SeqMonk. Anyone knows if Seqmonk can do this?

1
Entering edit mode

Looks like you figured it out but just in case: Sorry, should have been a little more clear. diffreps is a differential binding analysis software. The diffreps.txt file (output format here) was used to subset the genes that I wanted to look at that were called different using differeps. I took the genes from the differeps output that were mapped 500 basepairs from a TSS and have a log2FC > 1.5. If you look at code lines 12 and 13, I then took those genes and pulled them out of my GRanges transcriptome, which I then used for analysis.

0
Entering edit mode
6.0 years ago
Seigfried ▴ 80

@Guangchuang Yu

Thank you. I could solve my problem successfully using ChIPseeker

0
Entering edit mode
5.9 years ago
Seigfried ▴ 80

Hello @Guangchuang Yu

Is there any way I can isolate reads per a specific bin? For example between '-500 to 0' or between '-1000 to -500' ?

Also can I change the size of the bin? plotAvgProf(tagMatrixList, xlim=c(-3000, 3000)) Can I change this interval i.e. the size of the bin? Something like axis(side=25, at=c(0:1000))

0
Entering edit mode
0
Entering edit mode