Supported Modules
Speccheck recognises upstream outputs through parser modules. A parser does not run the upstream tool; it reads the files the tool already produced and returns a stable set of metric names.
The criteria CSV then decides which metrics are checked and what threshold is used. This separation is deliberate:
- parser support means Speccheck can read the file;
- criteria support means a metric is actively evaluated;
- plotting support means the HTML report can show a richer diagnostic section.
Built-in parsers
| Parser | Upstream software | Input recognised | Typical checks |
|---|---|---|---|
Ariba |
ARIBA | ARIBA TSV summaries | MLST or contamination summary values |
Busco |
BUSCO | short_summary*.txt |
Complete and missing orthologues |
Checkm |
CheckM2 / CheckM-style TSVs | quality-report TSV | Completeness, contamination, genome size, N50, contigs |
Depth |
Workflow depth table | GHRU-style depth TSV | Short-, long-, or hybrid-read depth |
Fastp |
fastp | fastp JSON report | Q30 and filtering metrics |
Quast |
QUAST | transposed report.tsv |
Assembly length, contigs, N50, GC, Ns |
Speciator |
Speciator | Speciator TSV | Species assignment and confidence |
Sylph |
Sylph | Sylph profile TSV | Top species, abundance, ANI, number of genomes |
Inspect your installed parser surface:
speccheck modules
Preview what will be recognised in a directory:
speccheck inspect path/to/qc_outputs/
Use inspect before collect
inspect is read-only. It is the fastest way to debug “why did this file
not appear in my report?” without creating output files.
How parser output becomes QC status
For a sample with QUAST, CheckM2, Speciator, Sylph, and depth files:
speccheck collect sample_qc/ \
--sample SAMPLE_001 \
--organism "Escherichia coli" \
--output-file qc_collect/SAMPLE_001.csv
Speccheck does this:
- Detects which parser can read each file.
- Prefixes emitted metrics with the parser name, for example
Quast.N50. - Selects criteria rows matching the species and assembly type.
- Adds status/check columns and provenance columns.
- Writes one compact CSV for the sample.
The summary step then merges those compact CSVs:
speccheck summary qc_collect --output qc_report --plot
Criteria rows connect parsers to thresholds
Criteria rows use the parser name and metric name:
species,assembly_type,software,field,operator,value,severity,source,special_field
all,short,Fastp,after_filtering_q30_rate,>=,0.70,fail,bactscout-global,
all,all,Busco,Complete,>=,95,fail,speccheck-default,
Escherichia coli,short,Checkm,Contamination,<=,5,fail,qualibact-v1.0,
This means a parser can exist before a species-specific public threshold exists. For example, Fastp and BUSCO have global Speccheck policy rows; they are not QualiBact species-specific assembly thresholds.
Plotting modules
HTML plots are optional. If a parser has no plotting module, Speccheck can still:
- detect the file;
- parse metrics;
- apply criteria;
- write CSV/XLSX outputs.
Plot modules currently exist for ARIBA, CheckM, QUAST, Speciator, and Sylph.
To add support for new software, see Adding a Module.