nf-core/genomeqc
Compare the quality of multiple genomes, along with their annotations.
genome-assembly-evaluationgenomicsphylogenetic-treesquality-control
Version history
First release of nf-core/genomeqc, which compares the quality of multiple genomes and their annotations. The pipeline runs in two modes depending on the inputs provided: Genome only (FASTA files) and Genome and Annotation (FASTA plus GTF/GFF files).
Added
- Input genomes and annotations from local files or NCBI accessions, downloaded with NCBI genome download.
- Genome completeness assessment with BUSCO, including a BUSCO Ideogram plotting the location of markers on the assembly.
- Read-based genome completeness evaluation with Merqury (optional).
- Telomeric repeat identification and visualisation with tidk (optional).
- Assembly contiguity and integrity statistics (N50, N90, GC%, number of sequences) with QUAST.
- Contamination screening with FCS-GX, FCS-adaptor, and Tiara, shown as contamination stats in the tree summary plot.
- Annotation statistics with AGAT, including a Gene Overlaps analysis counting overlapping genes.
- Extraction of the longest protein isoform with GffRead.
- Orthologous gene inference with OrthoFinder (v2 or v3).
- Repeat/transposable element annotation with RepeatModeler and RepeatMasker (or HITE).
- BUSCO marker-based and orthology-based phylogenetic Tree Summary plots combining assembly and annotation summary statistics, with multiple layout styles including a circular layout with configurable quality-threshold rings.
- An executable Shiny app for interactively adjusting the tree plot and summary statistics, with PNG/SVG export.
- HTML and Excel summary reports.
- Aggregated quality-control report with MultiQC.
- Genome-mode and protein-mode BUSCO/validated-GFF outputs are now published to separate paths so a run using both modes no longer has one mode’s files silently overwrite the other’s.
Fixed
- Fixed BUSCO not showing in the tree plot.
- Fixed the Shiny app launcher pulling its container from Docker Hub instead of quay.io, which caused a
pull access deniederror. - Circular layout: quality statistics (sequence count, N50, BUSCO complete/duplicated) are now scored as a colour-vision-safe traffic light (Good/Warn/Poor) against phylogenetic-group thresholds (
--quality_preset), rather than a sequential colour ramp that misleadingly implied “dark = good”.--show_ring_valuescan print each value on its ring. - Renamed
ORTHOLOGOUS_CHROMOSOMEStoORTHO_SEQ_COUNT(#196), and its outputs accordingly, since the input assembly need not be chromosome-level. - Fixed
NCBIGENOMEDOWNLOADfailing under singularity/apptainer with a container-image error. - Fixed
ORTHOFINDERsilently succeeding when it failed to produceOrthogroups/Orthogroups.tsv. - Fixed
ORTHO_SEQ_COUNTmapping zero genes for GFFs using atranscriptfeature instead ofmRNA(common in AUGUSTUS output) (#174). - Fixed
ORTHOFINDERV2crashing under-profile condawith a misleading “out of RAM” message. - Fixed
-profile condafailing to resolve forRM_DOWNLOAD_DBandREPEATMODELER_REPEATMODELER(HITE remains docker/singularity-only under conda). - Fixed
HTML_REPORT/EXCEL_REPORTcrashing on samplesheets that mix genome-only and annotated assemblies. - Fixed
gene_overlaps.Rsilently dropping genes with unresolved strand, and never detecting overlaps between genes on opposite strands, undercounting overlap statistics. - Fixed AGAT
sp_statisticsresults being effectively absent from both reports; added a feature-first “Annotation stats” tab/sheet and an “Assembly stats” tab to the HTML report. - Fixed a stale filename reference in the Shiny app that silently broke the ortho-seqs panel.
- Fixed the circular tree layout’s rings (
--tree_style circular) rendering with wildly uneven thickness, and--show_ring_values’ printed values landing on the wrong ring. - Fixed the conventional tree layout’s TE column title rendering below its panel instead of above it.
- Fixed the FCS-GX panel/ring being drawn against the wrong species, and occasionally showing a fabricated contamination grade for species with no FCS-GX data, whenever FCS-GX only ran for some samples.
- Fixed SVG export failing in the interactive Shiny app.
- Fixed
--RM_download_db truenever actually downloading a DFAM partition, so the parameter had no effect. - Fixed
GENOMEANNOTATIONBUSCOIDEOGRAMoverwriting outputs when a species is assessed against more than one BUSCO lineage (--busco_lineage auto). - Fixed Merqury outputs (
.qv,.completeness.stats, spectra plots) never being published toresults/merqury/<species>/.