cnr-ibba/nf-blobpurge is a bioinformatics pipeline for de novo short-read genome assemblies (e.g. algae) that have already been classified with sanger-tol/blobtoolkit. Starting from an existing assembly + BlobDir pair (it never regenerates the BlobDir), it removes contaminant contigs, purges uncollapsed heterozygous haplotigs with purge_dups (cross-checked independently with purge_haplotigs), runs comparative BUSCO across every assembly stage, and produces a single per-sample HTML report with an explicit verdict on whether the size/duplication surplus is explained by heterozygous haplotigs.
Nothing about a specific organism, taxon, or BUSCO lineage is hardcoded: the taxa to exclude and the BUSCO lineage(s) to run are mandatory parameters with no default.
- Remove contaminant contigs from an existing BlobDir, with a programmatic assembly-span conservation check (
BTK_FILTER) - Compute read coverage for purging: subset an existing reads CRAM, or map FASTQ reads fresh with
bwa-mem2(READ_COVERAGE) - Purge uncollapsed heterozygous haplotigs (
purge_dups), cross-checked independently and in parallel withpurge_haplotigs - Run comparative BUSCO (never
--auto-lineage) across the raw, filtered and purged assemblies - Generate a per-sample HTML report tying span, BUSCO duplication, the GenomeScope2 comparison (if provided) and the purge_dups/purge_haplotigs cross-check together into an explicit verdict
- Present QC and software versions for the whole run (
MultiQC)
Note
If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.
First, prepare a samplesheet with your input data that looks as follows (see docs/usage.md for the full column reference):
samplesheet.csv:
sample_id,assembly,blobdir,reads_cram,reads_r1,reads_r2
sample1,/data/sample1.assembly.fasta,/data/sample1_blobdir,/data/sample1.reads.cram,,Each row represents one already-assembled, already-blobtoolkit-classified sample: its assembly FASTA, its BlobDir, and either a reads CRAM or a pair of FASTQ files for coverage.
Now, you can run the pipeline using:
nextflow run cnr-ibba/nf-blobpurge \
-profile <docker/singularity/.../institute> \
--input samplesheet.csv \
--outdir <OUTDIR> \
--exclude_taxa "Pseudomonadota,Bacteroidota,Actinomycetota" \
--busco_lineages "chlorophyta_odb12,viridiplantae_odb12"--exclude_taxa and --busco_lineages are mandatory and have no default -- the pipeline fails immediately with an explicit error if either is missing.
Warning
Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.
cnr-ibba/nf-blobpurge was originally written by Paolo Cozzi.
We thank the following people for their extensive assistance in the development of this pipeline:
If you would like to contribute to this pipeline, please see the contributing guidelines.
An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.
This pipeline uses code and infrastructure developed and maintained by the nf-core community, reused here under the MIT license.
The nf-core framework for community-curated bioinformatics pipelines.
Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.