Comparing gene ontology for two lists of genes
2
2
Entering edit mode
3.8 years ago
mmmmcandrew ▴ 190

Hi all-

Apologies if this question has been asked before, but I couldn't find anything on biostars or elsewhere which quite captured what I am trying to do.

I have two sets of ChIP-seq peaks (WT and KO) that I have assigned to the nearest genes. So, I now have three lists of genes: one list for the genes which have a peak in both datasets, one list of genes that only appears in the WT dataset, and one list of genes that only appears in the KO dataset. What I would like to do now is perform some kind of differential gene ontology analysis between the peaks that appear only in the WT or only in the KO. In other words, my desired output would look something like "genes with peaks associated only in the WT sample are associated with GO term X, while genes associated with peaks only in the KO sample are associated with GO term Y, indicating that the KO sample loses peaks associated with term X and gains peaks associated with term Y." Can someone point me in the right direction?

Thanks!

GO • 3.0k views
ADD COMMENT
3
Entering edit mode
3.8 years ago
brianj.park ▴ 60

You could give clusterProfiler a shot using compareCluster(). You'd need to prepare a data frame where each column is a gene list and then do something like:

require(clusterProfiler)
require(enrichplot)
require(org.Hs.eg.db)

cluster <- compareCluster(geneClusters = df, fun = "enrichGO", keyType = "YOUR_GENE_IDENTIFIER_TYPE", org = org.Hs.eg.db)



 dotplot(cluster)

You'd need to swap out org.Hs.eg.db for another organism database if not human.

Vignette for clusterProfiler here: https://yulab-smu.github.io/clusterProfiler-book/chapter11.html

ADD COMMENT
0
Entering edit mode

After some learning and growing pains, this worked well. Thanks!

ADD REPLY
1
Entering edit mode
3.8 years ago
Issac ▴ 40

You can do GO enrichment analysis for each gene set and then get GO terms which are unique or overlapped.

ADD COMMENT
0
Entering edit mode

That seems reasonable, but I've struggled finding a good tool to do so. I've tried using the interactive PANTHER analysis at geneontology.org, and it's intuitive enough to use, but not so intuitive for this specific purpose. Do you have recommendations for tools you would use?

ADD REPLY
1
Entering edit mode

Like brianj.park said, clusterprofiler is the best choice you can to try.

ADD REPLY

Login before adding your answer.

Traffic: 2537 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6