Question: Tool To Generate Proportional Venn Diagrams?
20
gravatar for Ryan D
5.9 years ago by
Ryan D3.1k
USA
Ryan D3.1k wrote:

I saw this Biostar post on Venn diagrams for GO term overlap. And this tool could be modified to do something like I wish, but was wondering if there's a tool that can make nicely proportional Venn diagrams by entering just the number of elements in each set and intersection. For instance circle A has 10 items, B has 10 items, A+B has 6 items. Drawing them proportionally would be nice, but not essential. Also nice, but not critical, would be something open source which could be integrated with a suite of Perl scripts.

P.S. not using any standard GO terms, gene IDs, etc. This is for CNVs. So elements would take the form of chr1:100000-200000.

visualization • 34k views
ADD COMMENTlink modified 2.4 years ago by klausgerome20 • written 5.9 years ago by Ryan D3.1k

Um, Ballers? You have us confused with someone else ;-)

ADD REPLYlink written 5.9 years ago by Neilfws46k

Um, Ballers? You have us confused with someone else. Also, please try to use sensible titles which indicate what the question is - I edited your original.

ADD REPLYlink written 5.9 years ago by Neilfws46k

Ummm...right. Thanks for helping to clear things up.

ADD REPLYlink written 5.9 years ago by Ryan D3.1k
11
gravatar for Chris Miller
5.9 years ago by
Chris Miller17k
Washington University in St. Louis, MO
Chris Miller17k wrote:

The Google Chart API will do this.

Update - the Chart API has now been deprecated (bummer...)

ADD COMMENTlink modified 3.0 years ago • written 5.9 years ago by Chris Miller17k

That page doesn't show how I can get it to show the numbers of the overlaps too. Do you know if that is possible with Google Chart?

ADD REPLYlink written 5.9 years ago by Egon Willighagen5.1k

Chris, that is great. It scales the sizes of the Venns and even lets me specify the size overlap. The resulting HTML is great. Still need to play with the options, but I think this will do the job.

ADD REPLYlink written 5.9 years ago by Ryan D3.1k

you could try Lucidchart - that's what I use for diagrams. 

ADD REPLYlink modified 2.2 years ago • written 2.2 years ago by Waterlily_320
11
gravatar for Larry_Parnell
5.9 years ago by
Larry_Parnell15k
Boston, MA USA
Larry_Parnell15k wrote:

Something quite interesting that I learned from the VizBi conference (workshop on visualizing biological data) last month concerns depicting relationships linearly vs by area. Humans can proportionally relate objects of different lengths. That is if A = 10 and B = 5, A looks exactly twice as long, and if A = 10 and B = 9.8, B looks shorter. If A and B are depicted by area, things get difficult to discern because perceived differences in area relate to one another not by the power of 1.0 but by 0.6-0.7. Thus, one loses the degree of difference between objects when using area.

Although Venn diagrams are popular and convenient, this information is something to keep in mind when trying to depict the relationships.

Added 27 Apr 2011: Try Hohli at charts.hohli.com. With Hohli, you can create a Venn diagram and customize its look and feel. One can specify a title, choose data points, and alter the background. Hohli also allows you to create other charts, including scatter plots and other line charts.

ADD COMMENTlink modified 5.9 years ago • written 5.9 years ago by Larry_Parnell15k

A good thought, Larry. I realize Venns are not as sexy as some. Do you have any example links from the conference (other otherwise) that would be good for showing the overlap of A,B,C or even more sets?

ADD REPLYlink written 5.9 years ago by Ryan D3.1k

I'll offer you this link and the links therein: http://iphylo.blogspot.com/2011/03/some-vizbi-2011-links.html. No, I have nothing specific because I don't know how many data groupings you have and how many different overlaps. Hive plots (accessed from above link) might be a possibility. Or you could try overlapping lines, bending them as necessary to cover all overlaps.

ADD REPLYlink written 5.9 years ago by Larry_Parnell15k
10
gravatar for Laurent
5.9 years ago by
Laurent1.6k
Cambridge, UK
Laurent1.6k wrote:

I can recommend Vennerable. It is quite flexible and will allow you to plot proportional Venn/Euler diagrams and define the set names (foo and bar below) and weights directly (bar only has 7 elements, their intersection has 9, and there are 12 unique elements in foo):

Venn(SetNames = c("foo", "bar"), Weight = c('00' = 0, '01' = 7, '11' = 8, '10' = 12))

If you want to stick with Perl, there is Venn::Chart, which I have never used though.

ADD COMMENTlink modified 5.9 years ago • written 5.9 years ago by Laurent1.6k

Thanks Laurent, I'm less familiar with R. The link above doesn't take me to Venn-Chart, but I gather this is it: http://search.cpan.org/~djibel/Venn-Chart-1.00/lib/Venn/Chart.pm

ADD REPLYlink written 5.9 years ago by Ryan D3.1k

Sorry for the wrong url, I just updated it. Yes, your link is correct.

ADD REPLYlink written 5.9 years ago by Laurent1.6k

@Laurent I think in your example, it should be back ticks instead of single quotes.

ADD REPLYlink written 5.1 years ago by Sameet290

@Samseet You can indeed use back ticks, but single quotes do work.

ADD REPLYlink written 5.1 years ago by Laurent1.6k

@Sameet You can indeed use back ticks, but single quotes do work.

ADD REPLYlink written 5.1 years ago by Laurent1.6k

If set A totally include set B, seems the weighted venn diagram not working?

ADD REPLYlink written 4.0 years ago by dli150
6
gravatar for Madelaine Gogol
5.9 years ago by
Madelaine Gogol4.8k
Kansas City
Madelaine Gogol4.8k wrote:

Like others, I have started using The R VennDiagram package. I just presented on this at our local R user's group:

Powerpoint: Venn and Euler Diagrams in R

R code

For 3-way proportional venns, you could also try this Euler Venn Applet or Vennmaster:

ADD COMMENTlink modified 4.3 years ago • written 5.9 years ago by Madelaine Gogol4.8k

I tried Vennerable and it's great too.

ADD REPLYlink written 5.5 years ago by Madelaine Gogol4.8k

both links to Dropbox are broken!

ADD REPLYlink written 4.3 years ago by user56290

Okay, I fixed the links. Sorry, switched to google drive. By the way, I recently used vennerable some more, and it will let you do 3-way area proportional venns (approx).

ADD REPLYlink written 4.3 years ago by Madelaine Gogol4.8k
5
gravatar for Andreas
5.9 years ago by
Andreas2.3k
Singapore
Andreas2.3k wrote:

Not exactly sure if this is possible but it might be worth checking the following two references taken from Chen and Boutros BMC Bioinformatics 2011, 12:35 VennDiagram: a package for the generation of highly-customizable Venn and Euler diagrams in R:

Hulsen T, de Vlieg J, Alkema W: BioVenn - a web application for the comparison and visualization of biological lists using area-proportional Venn diagrams. BMC Genomics 2008, 9:488.

Kestler HA, Muller A, Kraus JM, Buchholz M, Gress TM, Liu H, Kane DW, Zeeberg BR, Weinstein JN: VennMaster: area-proportional Euler diagrams for functional GO analysis of microarrays. BMC Bioinfo 2008, 9:67.

Andreas

ADD COMMENTlink written 5.9 years ago by Andreas2.3k

Interesting. In the discussion, the authors note: "During development of the VennDiagram package, it was discovered that it was impossible to draw accurate, scaled Venn diagrams with three sets using circles." Apparently this is only possible using elipses or polygons.

ADD REPLYlink written 5.9 years ago by Ryan D3.1k

Yeah, I ran into that same realization a few years back when I was trying to draw a three-fold venn. In some cases, it's possible, but if you get out a pencil and paper, it's pretty easy to come up with cases that don't work. For example, A,B,C,ABC=5, AB,AC,BC=0

ADD REPLYlink written 5.9 years ago by Chris Miller17k

If A,B,C,ABC=5, then wouldn't AB,AC,BC also be 5?

ADD REPLYlink written 5.5 years ago by Farhat2.7k
5
gravatar for Ian
5.9 years ago by
Ian4.7k
University of Manchester, UK
Ian4.7k wrote:

My current favourite (for two sets) is pyvenn (a python script).

I have a version of the script that i altered, which does not display any text. This is good for papers where you want to add your own text.

You may also be interested in this link and the associated comments.

ADD COMMENTlink written 5.9 years ago by Ian4.7k

Ian, thanks. I read the OpenHelix post. It's where I got the links above from. But again it's within Cytoscape and not proportional.

ADD REPLYlink written 5.9 years ago by Ryan D3.1k
4
gravatar for Pascal
5.9 years ago by
Pascal40
Pascal40 wrote:

BioVenn is another tool for generating rea-proportional Venn diagrams. It supports only 2 or 3 comparisons, but might be handy anyway.

ADD COMMENTlink written 5.9 years ago by Pascal40
3
gravatar for Khader Shameer
5.9 years ago by
Manhattan, NY
Khader Shameer17k wrote:

Have you tried Venny ?

ADD COMMENTlink written 5.9 years ago by Khader Shameer17k

Thanks, Khader. Venny seems to be able to handle my data very well. While not proportional in size, like Chris's solution, it does give me numbers in each group by just pasting my CNV lists.

ADD REPLYlink written 5.9 years ago by Ryan D3.1k

Venny was down today... In any event, I would highly recommend I would highly recommend VENDIS: 

http://kislingerlab.uhnres.utoronto.ca/projects/VennDIS_v1.0.zip

It just came out and it's really quite good!

ADD REPLYlink written 2.1 years ago by InterestedScientist30
3
gravatar for Zazo0o
5.9 years ago by
Zazo0o40
France
Zazo0o40 wrote:

Hi!

I don't know if it's possible to integrate R code into a suite of Perl suite, but to generate proportional and colorfull Venn diagrams I use a R package called VennDiagram. You can find it there : VennDiagram: a package for the generation of highly-customizable Venn and Euler diagrams in R

ADD COMMENTlink written 5.9 years ago by Zazo0o40
2
gravatar for Puthier
5.9 years ago by
Puthier250
Puthier250 wrote:

I think that the venneuler R package could do the trick.

library("venneuler")
vd <- venneuler(c(A=0.3, B=0.3, C=1.1, "A&B"=0.1, "A&C"=0.2, "B&C"=0.1 ,"A&B&C"=0.1))
plot(vd)

Depending on your needs, you can also have a look at the venn function in gplots package (not proportional but offers venn diagrams with up to 5 sets). You can get colors by slightly modifying the function.

#construct some fake gene names..
oneName <- function() paste(sample(LETTERS,5,replace=TRUE),collapse="")
geneNames <- replicate(1000, oneName())
GroupA <- sample(geneNames, 400, replace=FALSE)
GroupB <- sample(geneNames, 750, replace=FALSE)
GroupC <- sample(geneNames, 250, replace=FALSE)
GroupD <- sample(geneNames, 300, replace=FALSE)
input  <-list(GroupA,GroupB,GroupC,GroupD)
venn(input)

You may also look at the ClueGO cytoscape plugin (which is intended to summarize the results obtained from any functional enrichment analysis).It offers very nice and meaningful outputs.

See also VennMaster.

ADD COMMENTlink written 5.9 years ago by Puthier250

That's a neat plot !

ADD REPLYlink written 5.9 years ago by Khader Shameer17k
2
gravatar for Leszek
5.5 years ago by
Leszek3.6k
IIMCB, Poland
Leszek3.6k wrote:

I've been using this tool. It draws very nice 3-,4- and 5-way Venns. It's very handy, as you give the text or files containing f.e. geneID and it computes the overlap itself:) No customisation options though...

ADD COMMENTlink written 5.5 years ago by Leszek3.6k

Very useful. Thank you!

ADD REPLYlink written 3.0 years ago by Prakki Rama1.9k
2
gravatar for klausgerome
2.4 years ago by
klausgerome20
Ukraine
klausgerome20 wrote:

This vector graphic sw could be helpful
 

ADD COMMENTlink written 2.4 years ago by klausgerome20

It does not appear to create proportional Venn diagrams.

ADD REPLYlink written 2.4 years ago by Alex Reynolds17k
1
gravatar for Uth Video
5.5 years ago by
Uth Video10
Uth Video10 wrote:

Here’s a Venn diagram that shows the intersection of two opposites. It doesn’t sound logical, but these are human emotions, which are rarely logical. We’ve all held simultaneously happy and sad feelings,

Read the full text here: http://www.mentalfloss.com/blogs/archives/45451#ixzz1Xqk4GnLE --brought to you by mental_floss!

ADD COMMENTlink written 5.5 years ago by Uth Video10
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1511 users visited in the last hour