Question: heatmap of genes based on enriched GO categories
0
2.7 years ago by
Bogdan580
Palo Alto, CA, USA
Bogdan580 wrote:

Dear all,

given a set of genes that are differentially expressed, which tool would you recommend in order to display a heatmap of the genes clustered based on a shared GO category (eg "chromatin") ?

thank you,

bogdan

goexpress gopro • 1.5k views
modified 2.7 years ago • written 2.7 years ago by Bogdan580

Dear Gordon, thanks, your comment helps a lot. I have only came across VISHIC : http://biit.cs.ut.ee/vishic/app,

and of course,  it would have helped to have an R/BioC equivalent package ;)

ADD REPLYlink modified 2.7 years ago • written 2.7 years ago by Bogdan580
Answer: heatmap of genes based on enriched GO categories
4
2.7 years ago by
kevin.rue230
University of Oxford
kevin.rue230 wrote:

Dear Bodgan,

I don't have much to add after Gordon :)

I'll just point out that GOexpress was intended to visualise the expression of genes associated with a single GO category. As Gordon just stated, advanced customisation is generally done by hand.

Regarding customised heat map, you might want to have a look at ComplexHeatmap. The learning curve may feel a bit steep, and you'll have to define a lot of of settings by hand, but that is the obvious price to pay for the highest degree of heat map customisation that I currently know in R. It is very much worth getting familiar with it, as it is applicable to other large omics data sets.

Here is a figure that I have recently produced using ComplexHeatmap, to give you an idea. The manual of ComplexHeatmap linked above will also teach you to produce multiple parallel heat maps in the same figure, and a lot more.

All the best,
Kevin

Answer: heatmap of genes based on enriched GO categories
3
2.7 years ago by
Gordon Smyth39k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth39k wrote:

I use coolmap(), see ?coolmap. If you're using edgeR to analyse RNA-seq data, then:

logCPM <- cpm(y, prior.count=3)
coolmap(logCPM[mygenes,])

where mygenes is an index vector for the genes you want the heatmap for.

ADD COMMENTlink modified 2.7 years ago • written 2.7 years ago by Gordon Smyth39k

Dear Gordon, thank you for the quick reply. Yes, it helps, as it simplifies the complexity of heatmap.2 or other functions.

However, my goal is a bit different : i would like to cluster both by expression level and GO terms; considering that I have a data.frame as the one below, would like to cluster the genes also based on GO "chromatin" and "cell cycle". Any suggestions on how i can do it ? thanks !

z <- data.frame(gene=c("gene_a","gene_b"), e1=c(3,6), e2=c(5,10), e3=c(7,1), e4=c(9,2), go=c("chromatin","cell cycle"))

1

There's no tool for doing that. If you are trying to reproduce plots that you see in the biology literature, with genes on a heatmap grouped by annotation term, that is always done by hand as far as I know.

Answer: heatmap of genes based on enriched GO categories
1
2.7 years ago by
Bogdan580
Palo Alto, CA, USA
Bogdan580 wrote:

Dear Kevin, thank you for your suggestions, and for sharing the example of the heatmap produced by ComplexHeatmap. It is very elegant and very convincing to start using ComplexHeatmap package.

talking about GOexpress: congratulations, and thanks for developing it, it does a nice work ! If I may bring a little suggestion : it would be nice if (at some moment in the future) the function Heatmap_GO provides different options for clustering the rows and the columns based on different metrics, and the option for "non-clustering".

thanks and happy Sunday !

Thanks! I am always more than happy to take suggestions to further develop GOexpress; in fact, I believe it got to the stage where more than half the features are based on feedback, and I like it this way :)

I must admit: there are many ways in which I would like to consolidate GOexpress before extending it. As my first public R package, I wasn't as familiar with S4 classes and methods as I am now. As a result, I am very keen to "clean" the existing methods, which ultimately would make it a lot easier to plug in different metrics and controls (and fetch/supply GO annotations!). However, this will require some time to sit down and plan it properly.

Best wishes

ADD REPLYlink modified 2.7 years ago • written 2.7 years ago by kevin.rue230
Answer: heatmap of genes based on enriched GO categories
0
2.7 years ago by
Bogdan580
Palo Alto, CA, USA
Bogdan580 wrote:

Hi Kevin, it is a great project, and we wish you lots of success on its development ;) particularly, as Gordon mentioned, as there is no tool for bi-clustering of the genes function of GO terms, that would be an useful and very novel addition to GOexpress too ;)

And i am glad that you could develop your project by testing it on the best RNA-seq datasets available. When i was a postdoc at UCSD, i've been aiming and willing to develop a BioC package for 5C data analysis, but the quality of the data was not always great; nevertheless, quite exciting ;)