FOMC Micorbiome Pipeline Software Version and Commands (2024-12-01 V1.44)
DADA2 read denoising, merging and chimeral filtering:
R version: 3.6.1 (2019-07-05)
DADA2 version: 1.12.1
DADA2: qualify profiles: plotQualityProfile
Read subsampling: seqtk Version 1.3-r116-dirty
seqtk sample -s100 R1|R2 5000
Pairwise trimming and denoising test: L1 and L2 range from 10 to 50
filterAndTrim(fnFs, filtFs, fnRs, filtRs, truncLen=c(L1,L2),trimLeft=c(19,19),maxN=0, rm.phix=TRUE,compress=TRUE, multithread=10)
learnErrors(filtFs, multithread=10,errorEstimationFunction = loessErrfun)
derepFastq(filtFs, verbose=TRUE)
dada(derepFs, err=errF, multithread=10)
mergePairs(dadaFs, derepFs, dadaRs, derepRs, verbose=TRUE)
removeBimeraDenovo(seqtab, method="consensus", multithread=10, verbose=TRUE)
Final trimming: best L1 and L2 from above
filterAndTrim(fnFs, filtFs, fnRs, filtRs, truncLen=c(L1,L2),trimLeft=c(19,19),maxN=0, rm.phix=TRUE,compress=TRUE, multithread=10)
learnErrors(filtFs, multithread=10,errorEstimationFunction = loessErrfun)
derepFastq(filtFs, verbose=TRUE)
dada(derepFs, err=errF, multithread=10)
mergePairs(dadaFs, derepFs, dadaRs, derepRs, verbose=TRUE)
removeBimeraDenovo(seqtab, method="consensus", multithread=10, verbose=TRUE)
Taxonomy Assignment:
Nucleotide-Nucleotide BLAST 2.7.1+
blastn -db DB -max_target_seqs 1000 -outfmt '6 qseqid sseqid qlen slen pident length mismatch gapopen qstart qend sstart send evalue bitscore' \
-query QUERY -out OUTFILE
Species-level chimera removal and novel specie OTU calling:
USEARCH version v8.1.1861_i86linux32
usearch -cluster_otus reads_sorted.fasta -otus OUTFILE -relabel OTU -otu_radius_pct 2 -uparseout UPARSEOUT -sizeout -log LOGOUT
Nucleotide-Nucleotide BLAST 2.7.1+
blastn -db DB -max_target_seqs 1000 -outfmt '6 qseqid sseqid qlen slen pident length mismatch gapopen qstart qend sstart send evalue bitscore' \
-query QUERY -out OUTFILE
QIIME2 analyses:
biom, version 2.1.5
biom convert -i INFILE -o BIOMFILE --to-hdf5
QIIME2 version qiime2-2020.11
Phyloseq analyses:
phyloseq verson 1.28.0
Import OTU
otu=otu_table(as.matrix(otu_table),taxa_are_rows=TRUE)
tax=tax_table(as.matrix(tax_table))
sampledata=sample_data(meta_table)
physeq=phyloseq(otu,tax,sampledata)
aggregate at different taxonomy level
psglom<-tax_glom(physeq,taxrank=level)
microbiome version 1.6.0
read count table transformation
microbiome::transform(psglom, "compositional")
microbiome::transform(psglom, "clr")
microbiome::transform(psglom, "compositional")
alpha diversity plots
plot_richness(physeq,x="Group",measures=c("Observed","Shannon","Simpson"), title="Species Richness",color="Group") + geom_boxplot() + \
theme(plot.title = element_text(hjust = 0.5)) + xlab("Group")
beta diversity plots
ordinate(physeq,"NMDS","bray")
ordinate(physeq,"PCoA","bray")
ordinate(physeq,"NMDS","euclidean"")
ordinate(physeq,"PCoA","euclidean")
Differential Abundance Analyses:
LEfSe version 1.0.0-dev-e3cabe9
ANCOMBC version 2.0.2
|