PICRUSt2 predicts community functional POTENTIAL from 16S/ITS amplicon ASVs by phylogenetic interpolation: it places each ASV on a tree of ~20,000 reference genomes and reports the gene content of its nearest sequenced relatives as the community's KO/EC/MetaCyc profile. The single fact that governs every decision: this is PREDICTED potential inferred from who-is-there, never measured gene content and never activity or expression. PICRUSt2 never sequences a functional gene from the sample. Accuracy is entirely a function of how well the community is represented in the reference set - credible in the densely-referenced human gut (predicted-vs-shotgun Spearman ~0.8), collapsing toward a restatement of taxonomy in soil, marine, and novel environments. Because the prediction is a deterministic function of the ASV table, a predicted "functional difference" between groups can be the taxonomic difference re-encoded - so predicted-function analysis is hypothesis-generating, and a functional conclusion needs shotgun or metatranscriptomics.
# PICRUSt2 installs as its own conda environment (pulls EPA-ng, gappa, hmmer, castor)
conda create -n picrust2 -c bioconda -c conda-forge picrust2
# Or the QIIME2 plugin path (into a QIIME2 env) - see qiime2-workflow
conda install -c conda-forge -c bioconda q2-picrust2
Conceptual prerequisites: - Inputs come from upstream amplicon processing: a representative ASV FASTA and an ASV abundance table (BIOM or TSV, samples as columns) from amplicon-processing + taxonomy-assignment. - The reference (tree, alignment, per-genome trait tables) ships with PICRUSt2 - no separate multi-GB download. The release fixes the reference and therefore the accuracy ceiling. - NSTI is the mandatory quality gate. The result is uninterpretable without reporting it. - The result is community POTENTIAL, not activity, and not measured gene content.
Tell your AI agent what you want to do: - "Predict KO and MetaCyc potential from my 16S ASV table with PICRUSt2" - "Run PICRUSt2 and report the NSTI distribution and the fraction of reads dropped" - "Tell me whether PICRUSt2 is appropriate for my soil samples or whether I should use FAPROTAX"
"I have a representative-sequence FASTA and an ASV abundance table from DADA2. Run PICRUSt2 with the recommended maximum-parsimony hidden-state method and produce KO, EC, and MetaCyc pathway tables."
"Run the q2-picrust2 full pipeline on my QIIME2 feature table and rep-seqs."
"Summarize the NSTI distribution from my PICRUSt2 run and report how many ASVs and what fraction of reads were dropped at the default NSTI cutoff."
"My mean NSTI is high - is this prediction trustworthy for marine sediment, and what should I use instead?"
"I want to know whether this community is nitrifying. Should I use PICRUSt2 or FAPROTAX?"
"I need measured functional gene content, not a prediction - what should I do?"
"Run compositionally-aware differential abundance on my predicted MetaCyc pathways across two groups and frame the result correctly."
picrust2_pipeline.py with --hsp_method mp and --max_nsti 2, producing KO/EC/MetaCyc tables and the NSTI file.marker_predicted_and_nsti.tsv.gz and report mean/median NSTI, the distribution, and the number of ASVs and fraction of reads dropped at the NSTI cutoff.add_descriptions.py.--max_nsti 2. A run that loses a large read fraction predicted function for a different community than was sampled.--hsp_method mp (maximum parsimony) - the recommended default. pic is faster but not recommended.marker_predicted_and_nsti.tsv.gz and the column is metadata_NSTI.