want to generate proper biom file with make.biom commend for PICRUST

I want to generate a biom formated file to use in PICRUST.
I tried to generate subsampled shared file with sub.sample(shared=sample.an.0.03.abund.pick.shared) commend and put it as an input file to generate biom.
I used,
make.biom(shared=sample.an.0.03.abund.pick.shared, label=0.03, reftaxonomy=gg_5_99.gg.tax, constaxonomy=sample.an.0.03.abund.pick.0.03.cons.taxonomy, picrust=97_otu_map.txt)
It generated a biom file and a biom_shared file, but when I checked the biom_shared file, the number of total sequences were different from the subsampled shared file.
I think the reason is because I used constaxonomy file which was generated based on non-subsampled file.

If I generate a biom file with non-subsampled shared file, is it possible to subsample the biom file?
Or is there any other way to generate constaxonomy file with shared file? (because only the biom_shared file has the information of greengene ID)

From your command it doesn’t look like you gave the make.biom command the subsampled shared file.

make.biom(shared=sample.an.0.03.abund.pick.shared, label=0.03, reftaxonomy=gg_5_99.gg.tax, constaxonomy=sample.an.0.03.abund.pick.0.03.cons.taxonomy, picrust=97_otu_map.txt)

shouldn’t it be something like:

make.biom(shared=sample.an.0.03.abund.pick.subsample.shared, label=0.03, reftaxonomy=gg_5_99.gg.tax, constaxonomy=sample.an.0.03.abund.pick.0.03.cons.taxonomy, picrust=97_otu_map.txt)

Another option is to subsample the list file like this:

mothur > sub.sample(list=yourListFile, group=yourGroupFile, taxonomy=yourTaxonomyFile, persample=t, size=yourSize, label=0.03) - subsample your files
mothur > list.seqs(taxonomy=current) - list sequences in subsample
mothur > get.seqs(fasta=yourFasta, accnos=current) - select subsampled sequences from fasta file (just to keep the files matching)
mothur > make.shared(list=current, group=current, label=0.03) - make subsampled shared file
mothur > classify.otu(list=current, taxonomy=current, label=0.03) - classify the subsampled otus
mothur > make.biom(shared=current, constaxonomy=current, reftaxonomy=gg_5_99.gg.tax, picrust=97_otu_map.txt) - make subsampled biom file


As far as i know, you don’t need to subsample your shared file to make .biom for picrust. The normalization can be done with picrust i.e. normalize_by_copy_number.py. Not sure but please correct me if i am wrong.

(ps: the same for .biom to use with LEfSe, as the normalization can be done with LEfSE i.e. divind by total and x 1000000

Hi, I have read contrasting comments about inputing a rarefied otu table into picrust. Can anybody comment on this?
If so, is it possible to make a subsample constaxonomy file? I was trying with:


get.otulabels(constaxonomy=mothur.picrust.cons.taxonomy, accnos=mothur_picrust.no24R.0.03.subsample.otulabels)

But there seem to be a bug in the system that does not let me run it.


The original poster mentioned that they were trying to use a subsampled shared file.