[BioC] Venn Diagram

Simon Noël simon.noel.2 at ulaval.ca
Wed Jul 8 04:33:22 CEST 2009


Thank you.  The gplots fonction for a 5 way venn diagram isn't really perfect
but it's beter than nothing.

Selon Thomas Girke <thomas.girke at ucr.edu>, 02.07.2009:

> There are plenty of options for this:
>
> gplots does 2-5 way venn diagrams
> http://cran.at.r-project.org/web/packages/gplots/index.html
>
> vennerable has functions for proportional venn diagrams
> http://doapstore.org/view.php?uri=nodeID%3A%2F%2F1000056780
>
> My personal hack does 2-4 way diagrams:
>
http://faculty.ucr.edu/~tgirke/Documents/R_BioCond/R_BioCondManual.html#R_graphics_venn
>
> In addition, there are also many online tools:
> http://www.pangloss.com/seidel/Protocols/venn4.cgi
> http://bioinfogp.cnb.csic.es/tools/venny/index.html
>
> Thomas
>
> On Thu, Jul 02, 2009 at 05:14:53PM -0400, Simon Noël wrote:
> > Thank's you for your help but I already have produced a table like that.
> My
> > code was really different.  Your code run faster than mine...  But the
> result
> > is the same.  What I really need for the next step is a Veen Diagram.  To
> see
> > how to create a 4 set may help me to see how to create more complicated
> one.
> > Selon Hervé Pagès <hpages at fhcrc.org>, 01.07.2009:
> >
> > > Hi Simon,
> > >
> > > Simon Noël wrote:
> > > > Hello every one.
> > > >
> > > > I have ten list of between 4 to 3000 genes and I woudlike to put them
> all
> > > > together in a venn diagram.
> > > >
> > > > I have try to load the library ABarray and to use doVennDiagram but it
> can
> > > only
> > > > une 3 list.
> > > >
> > > > Does any one know a way to put all of my ten list in the same venn
> diagram?
> > >
> > > A venn diagramm is a 2-D drawing of all the possible intersections
> > > between 2 or 3 sets where each set is represented by a simple 2-D
> > > shape (typically a circle). In the case of 3 sets, the resulting
> > > diagram defines a partitioning of the 2-D plane in 8 regions.
> > > Some people have tried (with more or less success) to put 4 sets on
> > > the diagram but then they need to use more complicated shapes and
> > > the resulting diagram is not as easy to read anymore. With 10 sets,
> > > you would end up with 1024 (2^10) regions in your drawing and you
> > > would need to use extremely complicated shapes for each region
> > > making it really hard to read! Maybe in that case it's easier
> > > to generate the table below.
> > >
> > > ## Let's say your genes are in 'set1', 'set2', etc... Put all the
> > > ## sets in a big list:
> > >
> > > mysets <- list(set1, set2, ..., set10)
> > >
> > > makeVennTable <- function(sets)
> > > {
> > >    mkAllLogicalVect <- function(length)
> > >    {
> > >      if (length == 0L)
> > >        return(logical(0))
> > >      ans0 <- mkAllLogicalVect(length - 1L)
> > >      ans1 <- cbind(TRUE, ans0)
> > >      ans2 <- cbind(FALSE, ans0)
> > >      rbind(ans1, ans2)
> > >    }
> > >    lm <- mkAllLogicalVect(length(sets))
> > >    subsets <- apply(lm, MARGIN=1,
> > >                 function(ii)
> > >                 {
> > >                   s <- sets[ii]
> > >                   if (length(s) == 0)
> > >                     return("")
> > >                   paste(sort(unique(unlist(s))), collapse=",")
> > >                 })
> > >    data.frame(lm, subsets)
> > > }
> > >
> > > Then call makeVennTable() on 'mysets'. For example, with 5 small sets:
> > >
> > >    > mysets <- list(c(1,5,12,4,9,29),
> > >                    c(4,11,3,18),
> > >                    c(22,4,12,19,8),
> > >                    c(7,12,4,5,3),
> > >                    c(25,24,4,2))
> > >
> > >    > makeVennTable(mysets)
> > >          X1    X2    X3    X4    X5
> subsets
> > >    1   TRUE  TRUE  TRUE  TRUE  TRUE
> 1,2,3,4,5,7,8,9,11,12,18,19,22,24,25,29
> > >    2   TRUE  TRUE  TRUE  TRUE FALSE
> 1,3,4,5,7,8,9,11,12,18,19,22,29
> > >    3   TRUE  TRUE  TRUE FALSE  TRUE
> 1,2,3,4,5,8,9,11,12,18,19,22,24,25,29
> > >    4   TRUE  TRUE  TRUE FALSE FALSE
> 1,3,4,5,8,9,11,12,18,19,22,29
> > >    5   TRUE  TRUE FALSE  TRUE  TRUE
> 1,2,3,4,5,7,9,11,12,18,24,25,29
> > >    6   TRUE  TRUE FALSE  TRUE FALSE
> 1,3,4,5,7,9,11,12,18,29
> > >    7   TRUE  TRUE FALSE FALSE  TRUE
> 1,2,3,4,5,9,11,12,18,24,25,29
> > >    8   TRUE  TRUE FALSE FALSE FALSE
> 1,3,4,5,9,11,12,18,29
> > >    9   TRUE FALSE  TRUE  TRUE  TRUE
> 1,2,3,4,5,7,8,9,12,19,22,24,25,29
> > >    10  TRUE FALSE  TRUE  TRUE FALSE
> 1,3,4,5,7,8,9,12,19,22,29
> > >    11  TRUE FALSE  TRUE FALSE  TRUE
> 1,2,4,5,8,9,12,19,22,24,25,29
> > >    12  TRUE FALSE  TRUE FALSE FALSE
> 1,4,5,8,9,12,19,22,29
> > >    13  TRUE FALSE FALSE  TRUE  TRUE
> 1,2,3,4,5,7,9,12,24,25,29
> > >    14  TRUE FALSE FALSE  TRUE FALSE
> 1,3,4,5,7,9,12,29
> > >    15  TRUE FALSE FALSE FALSE  TRUE
> 1,2,4,5,9,12,24,25,29
> > >    16  TRUE FALSE FALSE FALSE FALSE
> 1,4,5,9,12,29
> > >    17 FALSE  TRUE  TRUE  TRUE  TRUE
> 2,3,4,5,7,8,11,12,18,19,22,24,25
> > >    18 FALSE  TRUE  TRUE  TRUE FALSE
> 3,4,5,7,8,11,12,18,19,22
> > >    19 FALSE  TRUE  TRUE FALSE  TRUE
> 2,3,4,8,11,12,18,19,22,24,25
> > >    20 FALSE  TRUE  TRUE FALSE FALSE
> 3,4,8,11,12,18,19,22
> > >    21 FALSE  TRUE FALSE  TRUE  TRUE
> 2,3,4,5,7,11,12,18,24,25
> > >    22 FALSE  TRUE FALSE  TRUE FALSE
> 3,4,5,7,11,12,18
> > >    23 FALSE  TRUE FALSE FALSE  TRUE
> 2,3,4,11,18,24,25
> > >    24 FALSE  TRUE FALSE FALSE FALSE
> 3,4,11,18
> > >    25 FALSE FALSE  TRUE  TRUE  TRUE
> 2,3,4,5,7,8,12,19,22,24,25
> > >    26 FALSE FALSE  TRUE  TRUE FALSE
> 3,4,5,7,8,12,19,22
> > >    27 FALSE FALSE  TRUE FALSE  TRUE
> 2,4,8,12,19,22,24,25
> > >    28 FALSE FALSE  TRUE FALSE FALSE
> 4,8,12,19,22
> > >    29 FALSE FALSE FALSE  TRUE  TRUE
> 2,3,4,5,7,12,24,25
> > >    30 FALSE FALSE FALSE  TRUE FALSE
> 3,4,5,7,12
> > >    31 FALSE FALSE FALSE FALSE  TRUE
> 2,4,24,25
> > >    32 FALSE FALSE FALSE FALSE FALSE
> > >
> > > Cheers,
> > > H.
> > >
> > > >
> > > > Simon Noël
> > > > VP Externe CADEUL
> > > > Association des étudiants et étudiantes en Biochimie, Bio-
> > > > informatique et Microbiologie de l'Université Laval
> > > > CdeC
> > > >
> > > > _______________________________________________
> > > > 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
> > >
> > > --
> > > Hervé Pagès
> > >
> > > Program in Computational Biology
> > > Division of Public Health Sciences
> > > Fred Hutchinson Cancer Research Center
> > > 1100 Fairview Ave. N, M2-B876
> > > P.O. Box 19024
> > > Seattle, WA 98109-1024
> > >
> > > E-mail: hpages at fhcrc.org
> > > Phone:  (206) 667-5791
> > > Fax:    (206) 667-1319
> > >
> > >
> >
> >
> > Simon Noël
> > VP Externe CADEUL
> > Association des étudiants et étudiantes en Biochimie, Bio-
> > informatique et Microbiologie de l'Université Laval
> > CdeC
> >
> > _______________________________________________
> > 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
> >
>
>


Simon Noël
VP Externe CADEUL
Association des étudiants et étudiantes en Biochimie, Bio-
informatique et Microbiologie de l'Université Laval
CdeC



More information about the Bioconductor mailing list