Hello,
I am trying to use DeSeq2 in R to analyse differential abundance between 16s samples at OTU level. However I am not sure if the code I am using is valid for what I want to do. Codes comes from the phyloseq tutorial. http://joey711.github.io/phyloseq-ex...ns/DESeq2.html
My data is 16s data (Illumima MiSeq), collected from birds with different caecal lesion scores (0, 1, 2, 3, 4) and uninfected controls, for each I have <10 biological replicates per group. What I am interested in doing in comparing abundance of OTUs across groups.
I do as below to load my data into the matrix and then to ensure that I only have two groups (eg. 4 & uninfected) for comparison I remove the other groups using the subset option. Then run the code below.
My question is, is subsetting like this still allowing the program to take all of the data, even that which isn't being compared, into account?
Secondly am I struggling to know which parameters to use for this type of data with DeSeq2. Can I simply implement what is done for RnaSeq data here to look for differentially abundant OTUs or is this wrong completely? I am not sure which fitType to use; parametric or local or which test to use; Wald or LRT? Doing comparisons there is not much difference in the data, but would be good to know which is best to use.
The reason I am using DeSeq2 is because I have a small data set, min of 8 biological replicates, max of 11 biological replicates per group.
Having read the package manual I am still unclear. http://www.bioconductor.org/packages...man/DESeq2.pdf
library("phyloseq")
library("ggplot2")
library("devtools")
otufile=("table.from_biom_w_consensuslineage_0_replaced.txt")
mapfile=("Mapping_file_LS.txt")
trefile=("rep_set_tree.tre")
qiimedata = import_qiime(otufile, mapfile, trefile)
qiimedata = subset_samples(qiimedata, LesionScore != "0")
qiimedata = subset_samples(qiimedata, LesionScore != "1")
qiimedata = subset_samples(qiimedata, LesionScore != "2")
qiimedata = subset_samples(qiimedata, LesionScore != "3")
diagdds = phyloseq_to_deseq2(qiimedata, ~ LesionScore)
diagdds = DESeq(diagdds, test="Wald", fitType="parametric")
res = results(diagdds, cooksCutoff = FALSE)
alpha = 0.05
sigtab = res[which(res$padj < alpha), ]
sigtab = cbind(as(sigtab, "data.frame"), as(tax_table(qiimedata)[rownames(sigtab), ], "matrix"))
head(sigtab)
sigtabOrdered <- sigtab[order(sigtab$padj),]
plotMA(res)
plotDispEsts(diagdds)
Any help would be great
Sarah
I am trying to use DeSeq2 in R to analyse differential abundance between 16s samples at OTU level. However I am not sure if the code I am using is valid for what I want to do. Codes comes from the phyloseq tutorial. http://joey711.github.io/phyloseq-ex...ns/DESeq2.html
My data is 16s data (Illumima MiSeq), collected from birds with different caecal lesion scores (0, 1, 2, 3, 4) and uninfected controls, for each I have <10 biological replicates per group. What I am interested in doing in comparing abundance of OTUs across groups.
I do as below to load my data into the matrix and then to ensure that I only have two groups (eg. 4 & uninfected) for comparison I remove the other groups using the subset option. Then run the code below.
My question is, is subsetting like this still allowing the program to take all of the data, even that which isn't being compared, into account?
Secondly am I struggling to know which parameters to use for this type of data with DeSeq2. Can I simply implement what is done for RnaSeq data here to look for differentially abundant OTUs or is this wrong completely? I am not sure which fitType to use; parametric or local or which test to use; Wald or LRT? Doing comparisons there is not much difference in the data, but would be good to know which is best to use.
The reason I am using DeSeq2 is because I have a small data set, min of 8 biological replicates, max of 11 biological replicates per group.
Having read the package manual I am still unclear. http://www.bioconductor.org/packages...man/DESeq2.pdf
library("phyloseq")
library("ggplot2")
library("devtools")
otufile=("table.from_biom_w_consensuslineage_0_replaced.txt")
mapfile=("Mapping_file_LS.txt")
trefile=("rep_set_tree.tre")
qiimedata = import_qiime(otufile, mapfile, trefile)
qiimedata = subset_samples(qiimedata, LesionScore != "0")
qiimedata = subset_samples(qiimedata, LesionScore != "1")
qiimedata = subset_samples(qiimedata, LesionScore != "2")
qiimedata = subset_samples(qiimedata, LesionScore != "3")
diagdds = phyloseq_to_deseq2(qiimedata, ~ LesionScore)
diagdds = DESeq(diagdds, test="Wald", fitType="parametric")
res = results(diagdds, cooksCutoff = FALSE)
alpha = 0.05
sigtab = res[which(res$padj < alpha), ]
sigtab = cbind(as(sigtab, "data.frame"), as(tax_table(qiimedata)[rownames(sigtab), ], "matrix"))
head(sigtab)
sigtabOrdered <- sigtab[order(sigtab$padj),]
plotMA(res)
plotDispEsts(diagdds)
Any help would be great
Sarah
Comment