티스토리 뷰

앰플리콘 시퀀싱

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
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
글 보관함