#Extending colonic mucosal microbiome analysis - Assessment of colonic lavage as a proxy for endoscopic colonic biopsies #Euan Watt, MBChB, BSc(Hons); Matthew R Gemmell, BSc(Hons), MSc; Susan H Berry, BSc; Mark Glaire, MBChB, BSc(Hons); Freda Farquharson, BSc, MSc; Petra Louis, BSc; PhD; Graeme Murray, MBChB, PhD; Emad M El-Omar, MBChB, BSc(Hons), MD; Georgina Louise Hold, PhD #This document contains code used to QC and analyse data by mothur from the Raw 16S rRNA sequence data #Produce contig file for mothur ls * | sed 's/_L001_R1_001.fastq//g' | sed 's/_L001_R2_001.fastq//g'| uniq | while read x; do echo "${x} ${x}_L001_R1_001.fastq ${x}_L001_R2_001.fastq"; done > colonoscopy.makecontigsfile.txt #Make contigs make.contigs(file=colonoscopy.makecontigsfile.txt) #Calculate summary information of contigs summary.seqs(fasta=colonoscopy.makecontigsfile.trim.contigs.fasta) #Screen sequences by: #Length with min and max of 400 and 500 #Max amount of ambigous bases as 0 #Max length of a homopolymer as 10 screen.seqs(fasta=colonoscopy.makecontigsfile.trim.contigs.fasta, group=colonoscopy.makecontigsfile.contigs.groups, minlength=400, maxlength=500, maxambig=0, maxhomop=10) #Calculate summary information of screened contigs summary.seqs(fasta=colonoscopy.makecontigsfile.trim.contigs.good.fasta) #Unique sequences unique.seqs(fasta=colonoscopy.makecontigsfile.trim.contigs.good.fasta) Output File Names: colonoscopy.makecontigsfile.trim.contigs.good.names colonoscopy.makecontigsfile.trim.contigs.good.unique.fasta #Produce a count table to replace the names and groups file count.seqs(name=colonoscopy.makecontigsfile.trim.contigs.good.names, group=colonoscopy.makecontigsfile.contigs.good.groups) #Align sequences to SILVA database align.seqs(fasta=colonoscopy.makecontigsfile.trim.contigs.good.unique.fasta, reference=silva.nr_v119.align) #Calculate summary information of aligned sequences summary.seqs(fasta=colonoscopy.makecontigsfile.trim.contigs.good.unique.align, count=colonoscopy.makecontigsfile.trim.contigs.good.count_table) #Screen sequences by: #Start and end of sequences of 6288 and 25316 screen.seqs(fasta=colonoscopy.makecontigsfile.trim.contigs.good.unique.align, count=colonoscopy.makecontigsfile.trim.contigs.good.count_table, start=6388, end=25316, processors=4) #Calculate summary information of screened aligned data summary.seqs(fasta= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.align, count= colonoscopy.makecontigsfile.trim.contigs.good.good.count_table) #Filter sequences to remove gaps and overhangs filter.seqs(fasta= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.align, vertical=T,trump=.) #Calculate summary info of filtered data summary.seqs(fasta= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.fasta, count= colonoscopy.makecontigsfile.trim.contigs.good.good.count_table) #Unique sequences unique.seqs(fasta= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.fasta, count= colonoscopy.makecontigsfile.trim.contigs.good.good.count_table) #Preculster sequences allowing for up to 4 differences between sequences pre.cluster(fasta= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.fasta, count= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.count_table, diffs=4) #Chimera removal using uchime chimera.uchime(fasta=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.fasta, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.count_table, dereplicate=f) #Remove sequences classified as chimeras by uchime remove.seqs(accnos=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.uchime.accnos, fasta=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.fasta, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.count_table) #Calculate summary information of current data summary.seqs(fasta= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.fasta, count= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.count_table) #Classify sequences using the SILVA datbase classify.seqs(fasta=current, count=current, reference=silva.nr_v119.align, taxonomy=silva.nr_v119.tax, cutoff=80, processors=4) #Remove sequences classified as Chloroplast, Mitochondria, Archaea, Eukaryota or unknown remove.lineage(fasta= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.fasta, count= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.count_table, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.taxonomy, taxon=Chloroplast-Mitochondria-Archaea-Eukaryota-unknown) #Produce Phylotype files phylotype(taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.taxonomy, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.count_table) make.shared(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.tx.unique_list.list, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluste r.pick.pick.count_table) classify.otu(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.tx.unique_list.list,count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.count_table, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.taxonomy) #Cluster sequences based on dissimilarity cluster.split(fasta=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.fasta, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.count_table, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.taxonomy, splitmethod=classify, cutoff=4, processors=2) #Produce a shared file for 0.03 OTUs make.shared(list=current, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.f ilter.unique.precluster.pick.pick.count_table, label=0.03) #Classify OTUs classify.otu(list= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.list, count= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.count_table, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.taxonomy, label=0.03) #Remove OTUs where there is less that 2 individuals across all the samples remove.rare(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.list, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.count_table, nseqs=2, bygroup=f, label=0.03) #Make shared file for rare removed 0.03 OTUs make.shared(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.list, count= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.pick.count_table, label=0.03) #Classify OTUs classify.otu(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.list, count= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.pick.count_table, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.taxonomy, label=0.03) #Check amount of sequences in each sample count.groups(shared=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.shared) #Producing phylotype file containing sequences after rare OTU removal list.seqs(count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.pick.count_table) get.seqs(accnos=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.pick.accnos, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.taxonomy) phylotype(count= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.pick.count_table, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.pick.taxonomy) make.shared(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.pick.tx.unique_list.list, count= colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.pick.count_table) classify.otu(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.pick.tx.unique_list.list, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.pick.count_table, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.nr_v119.wang.pick.pick.taxonomy) ##OTU data analysis #Rarefaction analysis rarefaction.single(shared=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.shared, calc=sobs, freq=100) #Use subsample size of 11000 to keep all samples in analysis #Alpha diversity analysis summary.single(shared=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.shared, calc=sobs-chao-shannon-invsimpson-coverage, subsample=11000) #Calculate Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances dist.shared(shared=current, calc=jclass-thetayc-braycurtis, subsample=11000) #Produce trees based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances tree.shared(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.dist) tree.shared(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.dist) tree.shared(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.dist) #Principal coordinates analysis based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances pcoa(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.dist) pcoa(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.dist) pcoa(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.dist) #Non-metric multidimensional scaling based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances nmds(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.dist, mindim=3, maxdim=3) nmds(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.dist, mindim=3, maxdim=3) nmds(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.dist, mindim=3, maxdim=3) #Parsimony analysis comparing Biopsy and Lavage samples based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distance tree parsimony(tree=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.tre, group=16sBxCL_FA_bx_design.txt, groups=all) parsimony(tree=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.tre, group=16sBxCL_FA_bx_design.txt, groups=all) parsimony(tree=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.tre, group=16sBxCL_FA_bx_design.txt, groups=all) #AMOVA analysis comparing Biopsy and Lavage samples based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances amova(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.dist, design=16sBxCL_FA_bx_design.txt) amova(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.dist, design=16sBxCL_FA_bx_design.txt) amova(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.dist, design=16sBxCL_FA_bx_design.txt) #Rename output mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.tre.parsimony 16sBxCL_jclass_FA_bx.parsimony mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.tre.psummary 16sBxCL_jclass_FA_bx.psummary mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.tre.parsimony 16sBxCL_braycurtis_FA_bx.parsimony mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.tre.psummary 16sBxCL_braycurtis_FA_bx.psummary mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.amova 16sBxCL_jclass_FA_bx.amova mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.amova 16sBxCL_braycurtis_FA_bx.amova mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.amova 16sBxCL_thetayc_FA_bx.amova mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.tre.parsimony 16sBxCL_thetayc_FA_bx.parsimony mv colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.tre.psummary 16sBxCL_thetayc_FA_bx.psummary #Parsimony analysis comparing Participants based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distance trees parsimony(tree=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.tre, group=16sBxCL_individual_design.txt, groups=all) parsimony(tree=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.tre, group=16sBxCL_individual_design.txt, groups=all) parsimony(tree=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.tre, group=16sBxCL_individual_design.txt, groups=all) #AMOVA analysis comparing Participants based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances amova(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.jclass.0.03.lt.ave.dist, design=16sBxCL_individual_design.txt) amova(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.braycurtis.0.03.lt.ave.dist, design=16sBxCL_individual_design.txt) amova(phylip=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.thetayc.0.03.lt.ave.dist, design=16sBxCL_individual_design.txt) #Subsample OTU file to 11000 sequences per sample prior to LEfSe analysis sub.sample(shared=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.shared, size=11000) #LEfSe analysis of subsampled OTU data lefse(shared=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.pick.0.03.subsample.shared, design=16sBxCL_FA_bx_lefse_design.txt) #Classify sequences with Greengenes database for PICRUSt analysis classify.seqs(fasta=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.fasta, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.count_table, referencegg_13_8_99.fasta, taxonomy=gg_13_8_99.gg.tax, processors=4) #Classify OTUs with Greengenes database classify.otu(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.list, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.count_table, taxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.gg.wang.taxonomy, label=0.03) #Create a shared file make.shared(list=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.list, count=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.count_table, label=0.03) #Produce a biom file make.biom(shared=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.shared, label=0.03, reftaxonomy=gg_13_8_99.gg.tax, constaxonomy=colonoscopy.makecontigsfile.trim.contigs.good.unique.good.filter.unique.precluster.pick.pick.an.unique_list.0.03.cons.taxonomy, picrust= GG_13_5_otuMapTable/97_otu_map.txt) #PICRUSt analysis carried out in Huttenhower galaxy with biom file #PICRUSt produced Biom file containing predicted metagenome converted into a readable format biom convert -i 16sBxCL.picrust_predicted_metagenome.biom -o 16sBxCL.PICRUST_results.txt --to-tsv #PICRUST predicted KEGG pathways converted into readable format biom convert -i 16sBxCL.picrust_predicted_metagenome.KEGG_pathways.biom -o 16sBxCL.KEGG_pathways.PICRUST_results.txt --to-tsv #These readable format files were manually transformed into mothur compatible shared files to carry out analysis with mothur #Count amount of sequences within created KEGG pathway shared file count.groups(shared=16sBxCL.KEGG_pathways.shared.txt) #Count amount of sequences within created predicted metagenome shared file count.groups(shared=16sBxCL.PICRUST_predicted_metagenome.shared.txt) #Calculate alpha diversity metrics of predicted metagenome summary.single(shared=16sBxCL.PICRUST_predicted_metagenome.shared.txt, calc=sobs-chao-shannon-invsimpson-coverage, subsample=500000) #Calculate Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances for predicted metagenome dist.shared(shared=16sBxCL.PICRUST_predicted_metagenome.shared.txt, calc=jclass-thetayc-braycurtis, subsample=500000) #Produce trees based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances for the predicted metagenome tree.shared(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.jclass.unique.lt.ave.dist) tree.shared(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.braycurtis.unique.lt.ave.dist) tree.shared(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.thetayc.unique.lt.ave.dist) #Principal coordinates analysis based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances for the predicted metagenome pcoa(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.jclass.unique.lt.ave.dist) pcoa(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.braycurtis.unique.lt.ave.dist) pcoa(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.thetayc.unique.lt.ave.dist) #Non-metric multidimensional scaling based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances for the predicted metagenome nmds(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.jclass.unique.lt.ave.dist, mindim=3, maxdim=3) nmds(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.braycurtis.unique.lt.ave.dist, mindim=3, maxdim=3) nmds(phylip=16sBxCL.PICRUST_predicted_metagenome.shared.thetayc.unique.lt.ave.dist, mindim=3, maxdim=3) #Calculate alpha diversity metrics of predicted KEGG pathways summary.single(shared=16sBxCL.KEGG_pathways.shared.txt, calc=sobs-chao-shannon-invsimpson-coverage, subsample=500000) #Calculate Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances for KEGG pathways dist.shared(shared=16sBxCL.KEGG_pathways.shared.txt, calc=jclass-braycurtis-thetayc, subsample=500000) #Principal coordinates analysis based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances for KEGG pathways pcoa(phylip=16sBxCL.KEGG_pathways.shared.jclass.unique.lt.ave.dist) pcoa(phylip=16sBxCL.KEGG_pathways.shared.braycurtis.unique.lt.ave.dist) pcoa(phylip=16sBxCL.KEGG_pathways.shared.thetayc.unique.lt.ave.dist) #Non-metric multidimensional scaling based on Jaccard, Bray-Curtis and Yue & Clayton dissimilarity distances for KEGG pathways nmds(phylip=16sBxCL.KEGG_pathways.shared.jclass.unique.lt.ave.dist, mindim=3, maxdim=3) nmds(phylip=16sBxCL.KEGG_pathways.shared.braycurtis.unique.lt.ave.dist, mindim=3, maxdim=3) nmds(phylip=16sBxCL.KEGG_pathways.shared.thetayc.unique.lt.ave.dist, mindim=3, maxdim=3)