티스토리 뷰

앰플리콘 시퀀싱

OTU 테이블 표준화 (normalization)

메타지노믹스 메타지노믹스 2016.12.30 06:12

16s 시퀀싱을 분석할 때 OTU 테이블을  normalization 하는 방법에 크게 세가지가 있다. 1) Relative abundance 2) subsampling 3) Deseq를 이용한방법. 



먼저 위와 같은 방법으로 Phyloseq을 이용해 OTU 테이블을 읽었다고 하자 


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_w_new_group.csv",header=T, row.names=1)

sampledata = sample_data(meta)

physeq = merge_phyloseq(sampledata, biom_otu_tax, tree)


1) Relative abundance

상대적인 양을 알기위해 전체 depth로 나누어 주는 방법이다. 샘플마다 시퀀싱 depth가 다르기 때문에 전체로 나누는 방법을 사용한다. 


rephyseq= transform_sample_counts(physeq, function(x) x / sum(x) )




2) Rarefaction을 이용한 Subsampling

QIIME을 이용해 전체 샘플을 랜덤으로 다시 샘플링 한다. 


single_rarefaction.py -i otu_table_mc2_noChmera.biom -o otu_table_mc2_noChmera_even77000.biom -d 77000


3) Deseq2 와 같은 통계적 툴을 이용한 방법 


countData <- as.data.frame(as.matrix(otu_table(physeq)))

colData <- as.data.frame(sample_data(physeq))


## Create a DESeqDataSet object

deseq2_deseqds <- DESeqDataSetFromMatrix(countData = countData, colData = colData, design = ~ new_group)


deseq2_de <- DESeq(deseq2_deseqds, fitType = "local")

plotDispEsts(deseq2_de, main="Dispersion plot")


신고
댓글
댓글쓰기 폼
공지사항
Total
3,317
Today
8
Yesterday
20
링크
«   2017/06   »
        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  
글 보관함