Skip to content

R (프로그래밍 언어) VennDiagram #
Find similar titles

Structured data

Category
Programming

개요 #

우리는 Microarray data를 이용하여 DEGs(Differentially Expressed Genes)를 추출하거나 각 그룹에서 공통으로 존재하는 유전자를 알고 싶을 때, Venn Diagram을 이용한다. 다음은 R을 이용하여 venn digram을 그리는 방법에 대해 알아보자.

Venn Diagram 그리기 #

R package 불러오기 #

source("http://www.bioconductor.org/biocLite.R")
biocLite("VennDiagram")
library("VennDiagram")

2-set diagram #

venn.plot <- draw.pairwise.venn(30, 20, 10, c("A-up", "B-up"), scaled = FALSE);

https://docs.google.com/a/insilicogen.com/uc?id=0B-nv4ogSsXisQnRiNmxOUjBHVzQ&export=download

다음과 같이 2-set diagram을 간단하게 만들 수 있다. sacaled = FALSE를 지정하지 않으면 그룹에 넣어준 숫자에 따라 원의 크기가 달라진다.

3-set diagram #

venn.plot <- draw.triple.venn(
  area1 = 60,
  area2 = 70,
  area3 = 80,
  n12 = 30,
  n23 = 20,
  n13 = 10,
  n123 = 5,
  category = c("A_up-regulation", "B_up-regulation", "C_up-  regulation"),
);

https://docs.google.com/a/insilicogen.com/uc?id=0B-nv4ogSsXiscVFzOURWTGlvODQ&export=download

다음과 같이 3-set diagram도 간단하게 만들 수 있다. R에서 venn diagram을 그릴 때에는 직접 원하는 그룹에 숫자를 입력하여 그림을 그리는 불편함이 있다.

4-set diagram #

venn.plot <- draw.quad.venn(
  area1 = 90,
  area2 = 80,
  area3 = 75,
  area4 = 49,
  n12 = 37,
  n13 = 25,
  n14 = 26,
  n23 = 34,
  n24 = 30,
  n34 = 22,
  n123 = 16,
  n124 = 15,
  n134 = 10,
  n234 = 12,
  n1234 = 3,
  category = c("First", "Second", "Third", "Fourth"),
  fill = c("orange", "red", "green", "blue"),
  lty = "dashed",
  cex = 2,
  cat.cex=2,
  cat.col = c("orange", "red", "green", "blue")
);

https://docs.google.com/a/insilicogen.com/uc?id=0B-nv4ogSsXisMUFNb1Y5MElDZmM&export=download

다음과 같이 4-set diagram도 가능하다. 여기서 쓰인 code처럼 2-set과 3-set에 입력하면 각 그룹에 색을 칠할 수도 있고, 테투리 선을 점선 또는 실선 등 다양하게 원하는대로 변경이 가능하다.

문제점 #

R에서 Venn Diagram은 원하는 색, 두께 등 사용자가 원하는대로 그릴 수 있다는 장점이 있다. 그러나 각 그룹별로 직접 입력해야 하는 단점이 있으며, 내장 알고리즘으로 인해 exclusive group보다 n1234의 group의 숫자가 더 높다면 error가 발생한다. 이 때에는 다른 방법을 찾아 해결해야 한다.

Reference #

Package 'VennDiagram' : https://cran.r-project.org/web/packages/VennDiagram/VennDiagram.pdf

Suggested Pages #

0.0.1_20140628_0