R (프로그래밍 언어)
VennDiagram
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Programming
Table of Contents
개요 #
우리는 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