Command Coverage Matrix#
Every registered action of both plugins, broken down by parameter group, mapped to the one chapter that owns it and to the chapters that reuse it.
Look up --p-stabsel-b here to find the chapter that explains it. The same rows
feed a CI check: if a plugin registers a parameter that no row claims, the build
should fail.
There are 6 q2-gglasso actions and 8 q2-classo actions. Every one appears below,
together with every parameter (--p-) and input (--i-, --m-) group listed in
q2-gglasso Parameter Reference and
q2-classo Parameter Reference.
Note
Outputs are out of scope. Each action has a fixed output signature that does
not vary by chapter, so tracking --o- flags row by row adds noise without adding
coverage. --o-group-array is the one exception listed below, because the
artifact it produces cannot be fed back into solve-problem through the type
system — a fact about the workflow rather than about the output. Full output
signatures live in the two reference pages, and CI check 2 below is scoped to
parameters accordingly.
How to read the matrix#
Each row is an action x parameter group, not an action and not a single
parameter. --p-stabsel-b, --p-stabsel-q and --p-stabsel-threshold interact
too closely to document apart, so they share a row and a primary chapter.
Two columns carry the traceability:
Primary — the single chapter that introduces the group, explains why the parameters matter, and is responsible for keeping the explanation correct. Exactly one chapter per row. Fix any error about a parameter in its primary chapter first.
Also in — chapters that use the group again at a different scale or on a different dataset without re-explaining it. Link back to the primary rather than duplicating it.
Tier 1 is meant to be the reference tier: each action gets its canonical demonstration on the 13-ASV Atacama table, and the later tiers introduce new values and new questions rather than new commands. Where a row’s primary chapter is not in tier 1, that is a deliberate exception or an outstanding gap — Coverage debt lists them all.
Chapter keys#
The matrix uses short keys so the tables stay narrow.
Key |
Chapter |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q2-gglasso#
transform-features#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Input table |
|
|
|
Choice of transform |
|
|
|
Zero handling |
|
|
— |
Metadata as network nodes |
|
|
|
Feature relabelling |
|
|
|
The unused required input |
|
|
|
--p-transformation and the metadata switches change what the network means,
so G-PREP owns both rather than leaving them scattered. --i-taxonomy has a row
of its own because the registration requires it and the function never reads it,
so readers hit it before they hit anything statistical.
build-groups#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Instance tables and validation |
|
|
— |
The |
(export workaround) |
|
|
Important
build-groups emits a TensorData artifact while solve-problem accepts
group_array as a List[Int] parameter. They do not chain through the QIIME 2
type system, and there is no other route: export the artifact and pass the
indices by hand with --p-group-array. This is a known gap in the plugins, and
G-MGL is the one chapter responsible for spelling out the workaround.
calculate-covariance#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Input table (the p x n transform output) |
|
|
|
Scaling |
|
|
|
Normalisation denominator |
|
|
— |
solve-problem#
The largest parameter surface in either plugin. Its twenty parameters divide into eight concerns, and no chapter tries to cover more than two of them at once.
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Input covariance |
|
|
|
Problem size |
|
|
|
Sparsity grid |
|
|
|
Explicit grids and spacing |
|
|
|
Low-rank block |
|
|
|
Explicit rank (always raises) |
|
|
|
Adaptive penalty weights |
|
|
— |
Multiple instances |
|
|
|
Model-selection criterion |
|
|
|
Important
Two behaviours cut across the grid rows above, and getting either wrong produces a plausible-looking result rather than an error. Restate both wherever a chapter sets a grid.
Defaults appear silently. Leaving a grid entirely unset substitutes a built-in path and emits a warning. Setting only one bound substitutes the other one with no warning at all.
Model selection runs only if at least one grid has more than one value. For a
latent problem, lambda1, lambda2 and mu1 must all be singletons before the
run counts as a single fit. G-PATH owns the full explanation; H-LAM and
H-RANK reuse it.
--p-rank always raises on every released GGLasso up to and including
0.3.0 — ValueError if --p-latent is not set, NotImplementedError
otherwise — because no release can fix the rank of the low-rank component.
H-RANK documents the alternative: steer the rank through mu1, where a larger
mu1 gives a smaller rank, and read the achieved rank back out of the solution.
pca (visualizer)#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Inputs and the required metadata file |
|
|
|
Projection and colouring |
|
|
|
Note
pca has two prerequisites the signature does not state.
Solve with --p-latent True first — the visualizer reads solution/lowrank_,
which a sparse-only SGL solution does not have.
Pass --m-sample-metadata-file even though the signature marks it optional: the
visualizer dereferences it unconditionally, so omitting it crashes with an
AttributeError. G-PCA states both before its first command.
summarize (visualizer)#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Input solution |
|
|
|
Label sizing |
|
|
|
Canvas size |
|
|
|
Covariate block separation |
|
|
|
--p-n-cov pairs with --p-add-metadata: it tells the heatmaps how many
trailing variables are covariates rather than taxa, so the two blocks cluster
separately. Set it if you turned metadata into nodes in G-PREP.
q2-classo#
generate-data#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Problem shape |
|
|
— |
Response type |
|
|
— |
Taxonomy-derived labels and tree |
|
|
— |
The |
(no flag) |
|
|
Note
generate-data writes randomy.tsv into the current working directory — the
generated response is not returned as an artifact — and overwrites it on every
call. C-GEN is the only chapter that runs this action, and it says where to run
it from.
transform-features#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Input features |
|
|
|
CLR transform and pseudocount |
|
|
|
This is a different implementation from qiime gglasso transform-features:
coef rather than pseudo_count, no mclr, no metadata handling, and a
sample-major output because regress wants samples in rows. The shared action
name is the most common source of confusion between the two plugins, and C-PREP
says so explicitly.
add-taxa#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Tree change of basis |
|
|
|
add-covariates#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Inputs, column selection and one-hot expansion |
|
|
|
Per-covariate penalty weight |
|
|
|
Rescaling numeric covariates |
|
|
— |
Categorical columns are expanded to one-hot indicators labelled
<name> = <value>, spaces included. Those labels appear in the summarize
coefficient plots, so one categorical covariate contributes several rows to the
output. C-PREP owns that fact.
regress#
The four model-selection procedures — PATH, CV, StabSel, LAMfixed — are all on by default, and each has its own prefix and its own numerical method. They are four parallel blocks over the same fitted path.
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Inputs |
|
|
|
Numeric response |
|
|
|
Response shift |
|
|
|
Intercept |
|
|
|
Loss and noise model |
|
|
|
PATH |
|
|
|
CV |
|
|
|
Deprecated CV alias |
|
|
|
StabSel |
|
|
|
LAMfixed |
|
|
|
Note
--p-cv--nlam — two dashes — is not a typo. The parameter was originally
registered as cv__nlam with a double underscore, which QIIME 2 renders
literally. --p-cv-nlam is the current spelling; the old one still works and
emits a DeprecationWarning. Use --p-cv-nlam in new commands, and confine the
deprecated form to the places where it is being explained.
classify#
classify shares the PATH, CV, StabSel and LAMfixed blocks with regress, under
the same names and the same defaults. Only the differences are owned separately.
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Categorical response |
|
|
|
Hinge loss and its transition point |
|
|
|
Intercept |
|
|
|
What |
( |
|
|
Selection procedures |
as |
|
|
Important
qiime classo classify --p-concomitant does not exist. The parameter is not
registered on classify, and the solver forces the concomitant formulation off
for classification problems regardless. Passing the flag is a command-line error.
Use the Huber hinge loss instead — --p-huber True with an explicit --p-rho,
since rho defaults to 0.0 here rather than the 1.345 used by regress.
C-CONC owns this comparison.
predict#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Inputs (no parameters) |
|
|
|
predict emits one prediction set per model selection present in the problem, so
switching CV or StabSel off at fit time silently reduces what you get back.
C-PRED explains the coupling.
summarize (visualizer)#
Parameter group |
Flags |
Primary |
Also in |
|---|---|---|---|
Inputs |
|
|
|
Plot truncation |
|
|
|
Supporting QIIME 2 commands#
These commands are not part of either plugin, but a reader who skips them cannot complete the chapters, so each has an owning chapter below.
Command |
What the tutorial uses it for |
Primary |
Also in |
|---|---|---|---|
|
Train/test split before |
|
|
|
Restricting a table to a shared feature set before building multiple graphical-lasso instances |
|
— |
|
Splitting one table into the K per-group instances ( |
|
— |
|
Reading off the sample count that |
|
— |
|
Inspecting a grouping variable before splitting on it |
|
— |
|
The |
|
|
|
Opening a |
|
|
|
Confirming a downloaded artifact’s type and UUID |
|
|
|
Making a freshly installed plugin visible to the CLI |
|
|
|
The authoritative parameter list on your install |
|
|
Tip
qiime feature-table summarize earns its place because --p-n-samples is the
only solve-problem parameter with no default, and the value you give passes
straight through as the sample size N of the underlying problem — the same N
the model-selection criterion is computed against. Read it off the table rather
than from memory.
Coverage debt#
Rows whose primary chapter is not in tier 1, i.e. where tier 1 does not give the group its canonical demonstration. Each is either a justified exception or work outstanding.
Group |
Current primary |
Why, or what is missing |
|---|---|---|
|
|
Not exercised in tier 1. Zero handling only becomes visible on a sparse table, but tier 1 should still name it. Outstanding. |
|
|
Only the default ( |
|
|
|
|
|
Not exercised in tier 1, although the tier 1 covariates ( |
|
|
The parameter always raises, so its owning chapter is the one about choosing a rank the working way. Justified. |
Note
Most of this book has not yet been re-run against QIIME 2 2026.7, so the “Also in” columns record where a flag is written, not where it has been observed to work. The distinction disappears once the CI checks below run.
Checks worth wiring#
The two parameter reference pages are meant to be generated rather than written:
capture qiime gglasso <action> --help and qiime classo <action> --help into
docs/_data/help/<plugin>-<action>.txt at build time and render them with
{literalinclude}. Once the flag list on those pages comes from the plugin rather
than from a human, both sides of every comparison are mechanical and the matrix
becomes machine-checkable.
In rough order of value:
No invented flags. Every
--p-,--i-,--o-and--m-token appearing in a fencedbashblock anywhere underdocs/chapters/must appear in one of the captured help files. This catches a documented parameter that does not exist.No missing parameters. Every
--p-,--i-and--m-flag in a captured help file must appear in at least one row of this matrix. This turns coverage from a claim into a build failure. Scoped to parameters and inputs; the reference pages carry the outputs.Primaries resolve. Every chapter key used in a Primary cell must resolve to a file listed in
docs/_toc.yml, and each row must name exactly one.Reference pages agree with the matrix. The chapter named in the Demonstrated in column of
R-GGandR-CLmust appear in this matrix as either the primary or an “Also in” chapter for that parameter’s group.Deprecated spellings stay quarantined.
--p-cv--nlammust not appear in a runnable command outsideC-MSEL,R-CLandR-TS, where it is being explained rather than recommended.Links resolve. Every relative link in every chapter points at a file that exists — cheap, and the failure mode readers notice first.
Important
None of this is wired up yet. The --help capture step is not wired into the
build, and the parameter reference pages are maintained by hand in the meantime.
Until that changes, treat
qiime <plugin> <action> --help on your own installation as the final authority,
the matrix as the intent, and any disagreement between them as a bug worth
filing.
See also#
q2-gglasso Parameter Reference — every flag, type and default for the 6 gglasso actions.
q2-classo Parameter Reference — the same for the 8 classo actions, organised by model-selection procedure.
Troubleshooting & Known Failure Modes — the traps named above, with the symptom you will see.