티스토리 뷰

R 을 이용해 앰플리콘 데이터를 분석하는 것은 여러모로 장점이 많다. 그중 가장 큰 장점은 '자동화'일 것이다. 한번 R 스크립트를 만들어 놓으면 이후에 그대로 혹은 최소한의 편집으로 다시 사용할 수 있기 때문이다. 또한 copy-paste 의 무한반복을 하지 않아도 된다!!!


R에서 앰플리콘 시퀀스 데이터 분석을 도와주는 라이브러리 중 많이 사용하는 것이 phyloseq과 vegan 이다. 오늘은 그 중 phyloseq에 대해 알아보려고 한다. phyloseq은 R에서 앰플리콘 데이터를 읽어 다양한 형태의 결과물 (그래프)을 간편히 만들어 내는데 큰 도움이 된다. Phyloseq의 개발자가 좋은 튜토리얼을 많이 만들어 놓아 따라하기도 비교적 쉽다. 본인의 경험으로 phyloseq을 사용하는데 가장 어려운 부분은 데이터를 읽어들이는 것이다. 일단 데이터만 제대로 읽으면 이후 과정은 일사천리다.


1. phyloseq 설치

여러분의 컴퓨터에 R이 이미 설치되어 있다고 가정하고,, phyloseq 설치하는 방법을 알아보자. 많은 R 패키지들이 CRAN을 통해 배포되기 때문에 install.packages("package_name") 과 같이 설치할 수 있지만 phyloseq은 CRAN이 아닌 bioconductor를 사용해 배포된다. bioconductor는 바이오 인포매틱스 관련한 많은 소프트웨어를 제공해 주는 곳이다. 설치를 하려면 아래와 같이 입력한다.


source("http://bioconductor.org/biocLite.R")
biocLite('phyloseq')


시간이 좀 오래 걸릴 수 있다. phyloseq은 다른 패키지를 많이 사용하는데, 필요한 패키지를 알아서 함께 설치해준다.


2. phyloseq에서 QIIME 결과물 읽기

QIIME으로 시퀀스를 분석하면 폴더가 만들어지고 다양한 파일이 생기는데 그중에서 가장 중요한 파일은 otu_table_mc2_w_tax.biom과 rep_set.tre 이다. 이 두개의 파일과 샘플에 대한 설명을 담은 파일(흔히 메타파일 이라고 부름, 직접 만들어야 함)까지 세개의 파일을 읽으면 된다.


otu_table_mc2_w_tax.biom

이 파일은 OTU 테이블이다. 모든 OTU와 각 샘플 별 몇개씩 존재하는지 그리고 각 OTU가 어떤 박테리아인지에 대한 정보가 들어있다. biom은 크기가 큰 테이블을 효과적으로 압축해 주는 파일 형식이다. 여기에는 두가지 방식이 있는데, json과 HDF5가 있다. phyloseq의 개발자가 두개의 형식을 모두 읽을 수 있게 할꺼라고는 했는데, 본인의 경험으로는 아직 DHF5형식은 잘 읽히지 않는다. QIIME이 컴퓨터에 설치되어 있는 biom의 버전에 따라서 파일을 json형식으로 만들 수도 있고 HDF5로 만들 수도 있다. 만약 phyloseq에서 biom파일이 잘 읽히지 않는다면 HDF5 버전일 가능성이 크다. 그러면 아래와 같이 HDF5 버전의 biom파일을 json 형식으로 바꾸어 준다. 아래 명령은 R이 아닌 터미널(커맨드라인)에서 해야한다.


biom convert -i otu_table_mc2_noChmera.biom -o otu_table_mc2_noChmera.json.biom --table-type="OTU table" --to-json


rep_set.tre

이 파일은 OTU의 트리 구조 정보가 들어있다.


meta.csv

마지막으로 메타파일이 필요하다. 각 샘플에 대한 정보을 담은 파일인데 사용자가 직접 만들어야 한다. 엑셀에서 작성하고 저장할 때, File > Save as 에서 format 을 Comma Separated Values(.csv)를 선택하여 저장한다.  파일 내용은 샘플ID, 샘플 날자, 샘플한 장소, 기타 샘플의 그룹 등이 들어간다.


세개의 파일이 준비 되었다면 이제 R에서 아래와 같은 방법으로 읽으면 된다.


##########   Load library   ############
library(ape)
library(phyloseq)
library(DESeq2)

##########  Read data  ############
biom_file = "otu_table_mc2_w_tax.json.biom"
biom_otu_tax <- import_biom(biom_file)
tree = read.tree("rep_set.tre")
meta  <- read.csv("meta.csv",header=T, row.names=1)
sampledata = sample_data(meta)
physeq = merge_phyloseq(sampledata, biom_otu_tax, tree)







'바이오 인포매틱스 > R' 카테고리의 다른 글

R로 그래프 그리기  (0) 2017.05.30
R 설치하고 실행하는 방법  (1) 2017.02.08
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함