[BioC] Adding a text label to the classvec colour bar in heatplot

Kasper Daniel Hansen khansen at stat.berkeley.edu
Fri Aug 1 07:25:07 CEST 2008


It means you have a SVG device built into base R. So you can do

svg()

to open a SVG device. You do not need the package Thomas was talking  
about. This requires that R has been build with Cairo support, try
R> capabilities()
and look for "cairo".

Kasper


On Jul 27, 2008, at 2:24 PM, Mikhail, Amy wrote:

> Hi Thomas and Kasper,
>
> Many thanks for the tip - I managed to carry out the adjustments I  
> needed in inkscape.  I'd still reccomend adding a group label  
> feature to heatplot for general convenience, but modifying in svg  
> format does seem to be a very handy way of finalising things.
>
> Forgive my ignorance but what does "out of the box" mean (below)?
>
> Best wishes,
> Amy
> ________________________________________
> From: Kasper Daniel Hansen [khansen at stat.berkeley.edu]
> Sent: 25 July 2008 20:31
> To: Thomas Girke
> Cc: Mikhail, Amy; 'aedin at jimmy.harvard.edu'; bioconductor at stat.math.ethz.ch
> Subject: Re: [BioC] Adding a text label to the classvec colour bar  
> in heatplot
>
> You will be glad to know that as of 2.7 R supports a SVG device out of
> the box (if compiled with Cairo support).
>
> Kasper
>
> On Jul 25, 2008, at 8:38 AM, Thomas Girke wrote:
>
>> What I find often very helpful for the final refinements of a
>> heatmaps or
>> any other graphics generated in R is the possibility to save the  
>> plots
>> in SVG format (Scalable Vector Graphics). This format allows you to
>> edit all features in an R plot with graphics editors that have SVG
>> support.
>> A very nice and free one is InkScape: http://www.inkscape.org/. Adobe
>> Illustrator should work too. After the import of the SVG file into
>> InkScape you ungroup the graphics object to make all the changes  
>> final
>> refinements you want. The SVG format is supported by many web
>> browsers and
>> it is becoming more and more the default graphics format for  
>> community
>> web projects like Wikipedia.
>>
>> Here is a short example:
>>
>> library("RSvgDevice") # install package from CRAN
>> devSVG("test.svg")
>> plot(1:10, 1:10)
>> dev.off()
>>
>> Thomas
>>
>>
>> On Fri, Jul 25, 2008 at 01:06:28PM +0100, Mikhail, Amy wrote:
>>> Hi Aedin,
>>>
>>> What I'd like to do is add group text labels over the colourbar on
>>> the top (the rows in my heatplot are genes, the columns are
>>> samples).  If you look at figures 2 or 3 in the paper below which
>>> is co-authored by Robert Gentleman you can see an example of what I
>>> mean - the "Relapse" "CCR" labels on the 3rd figure are the type of
>>> thing I'm after.  This paper was written a while ago (2003) so not
>>> sure if the figures were made with heatplot or something else, but
>>> I'd be interested to know how it was done?
>>>
>>> http://bloodjournal.hematologylibrary.org/cgi/content/abstract/103/7/2771
>>>
>>> The dendrogram group labels are not quite what I'm after but it
>>> would be interesting to see anyway.  I think it would be useful if
>>> heatplot had a straight-forward option to add group labels in this
>>> way.
>>>
>>> Best wishes,
>>> Amy
>>>
>>> -----Original Message-----
>>> From: Aedin Culhane [mailto:aedin at jimmy.harvard.edu]
>>> Sent: 25 July 2008 00:02
>>> To: bioconductor at stat.math.ethz.ch; Mikhail, Amy
>>> Subject: Re: Adding a text label to the classvec colour bar in
>>> heatplot
>>>
>>> Dear Amy
>>> Do you want to add a group text label on each sample, or just over
>>> the colorbar on the side ?  The label on each sample is easy  to
>>> do. Do you want code for this?
>>>
>>> However currently I haven't implemented a group text label on
>>> colorbars in heatplot.  I don't think its available in  heatmap or
>>> heatmap.2.
>>>
>>> Another function, we have called pretty.dend draws multiple
>>> colorbars beneath a clustering dendrogram and these colorbars have
>>> group labels.
>>> In the development version I used mtext to add the group labels to
>>> the side of the color bar and this is prettier  than the function
>>> in the current release.
>>>
>>> Unfortunately I haven't implemented group labels adjacent to the
>>> colorbar in heatplot as I would have to write code that doesn't
>>> call heatmap/heatmap.2.
>>>
>>> Let me know if you find an alternative work around, or if you need
>>> me to modify heatplot.
>>>
>>> I can send you the development version of pretty.dend so you can
>>> see what the output looks like. The output from a modified version
>>> of heatplot would look very similar (but has the option of
>>> including a heatmap).
>>>
>>> Regards
>>> Aedin
>>>
>>> (and.. BioC developers... I know I should modify pretty.dend so it
>>> doesn't have a . in the function name... sorry, my mistake, its on
>>> my to-do list ;-)
>>>
>>>
>>>
>>> Dear BioCs,
>>>
>>> I'm trying to create a heat plot with a matrix containing real time
>>> PCR data for just 5 genes.  There are 105 samples, belonging to 7
>>> groups (groups are in numerical order).  The matrix looks like this
>>> (Age is my grouping variable):
>>>
>>>                  Gene1        Gene2       Gene3      Gene4
>>> Gene5        Age
>>> A1R_D03  -13.71434 -14.19288 -15.79439 -14.93712 -14.87174   3
>>> A4R_D03  -13.29068 -13.39888 -16.49077 -14.87276 -15.21852   3
>>> A7R_D03  -13.19423 -13.09508 -15.80787 -14.59671 -14.47190   3
>>> A10R_D03 -13.33472 -13.34051 -15.60396 -14.69521 -14.28135   3
>>> A13R_D03 -11.89260 -11.73026 -16.05069 -14.59895 -16.40680   3
>>> A61K_D03 -14.64341 -14.55358 -16.37900 -15.44644 -15.80778   3
>>>
>>> ...etc
>>>
>>> As there are so many samples, it doesn't make sense to have the
>>> individual sample names on the graph, so I would like to have the
>>> samples in their group order with just the seven group labels.
>>> With heatplot I can get the colourbar for my seven groups using the
>>> classvec argument, but can't find any way to label the colourbars
>>> with text...
>>>
>>> Also, I'm a little confused about the re-ordering that heatplot
>>> does - how can I be sure that the samples belonging to a particular
>>> group are underneath the appropriate colourbar (and given my
>>> situation I would also want the groups to appear in numerical  
>>> order)?
>>>
>>> I have tried using heatmap.2 as well, but it seems only heatplot
>>> has the colour bar by group option - heatmap.2 only allows you to
>>> add a colourbar representing each column separately?
>>>
>>> Here is my code:
>>>
>>> #(Ngenet is a transposition of my matrix and the Age variable is in
>>> a separate dataframe so that it doesn't appear directly on the  
>>> plot).
>>>
>>>
>>>>> heatplot(Ngenet, dend="none", cols.default=FALSE, margin=c(7, 7),
>>>>> labCol=FALSE, lowcol="red", highcol="green", scale="none",
>>>>> classvec=Mop$Age)
>>>>
>>>
>>> If anyone could suggest how I might add the group labels, I'd be
>>> very grateful - appologies if this is something very simple, I have
>>> actually seen papers with plots showing exactly what I want to do
>>> but just can't figure out how to do it.
>>>
>>> With best wishes,
>>> Amy
>>>
>>>
>>>
>>>
>>> --
>>> Aedín Culhane,
>>> Research Associate
>>> Computational Biology and Functional Genomics Laboratory Harvard
>>> School of Public Health, Dana-Farber Cancer Institute
>>>
>>> 44 Binney Street, SM822C
>>> Department of Biostatistics and Computational Biology, Dana-Farber
>>> Cancer Institute Boston, MA 02115 USA
>>>
>>> Phone: +1 (617) 632 2468
>>> Fax:   +1 (617) 582 7760
>>> Email: aedin at jimmy.harvard.edu
>>> Web URL: http://www.hsph.harvard.edu/researchers/aculhane.html
>>>
>>>
>>>
>>>
>>> The University of Aberdeen is a charity registered in Scotland, No
>>> SC013683.
>>>
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>
>>
>> --
>> Thomas Girke
>> Assistant Professor of Bioinformatics
>> Director, IIGB Bioinformatic Facility
>> Center for Plant Cell Biology (CEPCEB)
>> Institute for Integrative Genome Biology (IIGB)
>> Department of Botany and Plant Sciences
>> 1008 Noel T. Keen Hall
>> University of California
>> Riverside, CA 92521
>>
>> E-mail: thomas.girke at ucr.edu
>> Website: http://faculty.ucr.edu/~tgirke
>> Ph: 951-827-2469
>> Fax: 951-827-4437
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>
>
>
> The University of Aberdeen is a charity registered in Scotland, No  
> SC013683.



More information about the Bioconductor mailing list