Skip to content

sanger-tol/blobtoolkit

Repository files navigation

sanger-tol/blobtoolkit

GitHub Actions CI Status GitHub Actions Linting StatusCite with Zenodo

Nextflow run with conda run with docker run with singularity Launch on Nextflow Tower

Introduction

sanger-tol/blobtoolkit is a bioinformatics pipeline that can be used to identify and analyse non-target DNA for eukaryotic genomes. It takes a samplesheet of BAM/CRAM/FASTQ/FASTA files as input, calculates genome statistics, coverage and completeness information, combines them in a TSV file by window size to create a BlobDir dataset and static plots.

  1. Calculate genome statistics in windows (fastawindows)
  2. Calculate Coverage (blobtk/depth)
  3. Fetch associated BUSCO lineages (goat/taxonsearch)
  4. Run BUSCO (busco)
  5. Extract BUSCO genes (blobtoolkit/extractbuscos)
  6. Run Diamond BLASTp against extracted BUSCO genes (diamond/blastp)
  7. Run BLASTn against extracted BUSCO genes (blast/blastn)
  8. Run BLASTx against extracted BUSCO genes (blast/blastx)
  9. Count BUSCO genes (blobtoolkit/countbuscos)
  10. Generate combined sequence stats across various window sizes (blobtoolkit/windowstats)
  11. Imports analysis results into a BlobDir dataset (blobtoolkit/blobdir)
  12. Create static plot images (blobtk/images)

Usage

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:

samplesheet.csv:

sample,datatype,datafile
mMelMel3,hic,GCA_922984935.2.hic.mMelMel3.cram
mMelMel1,illumina,GCA_922984935.2.illumina.mMelMel1.cram
mMelMel3,ont,GCA_922984935.2.ont.mMelMel3.cram

Each row represents an aligned file. Rows with the same sample identifier are considered technical replicates. The datatype refers to the sequencing technology used to generate the underlying raw data and follows a controlled vocabulary (ont, hic, pacbio, pacbio_clr, illumina). The aligned read files can be generated using the sanger-tol/readmapping pipeline.

Now, you can run the pipeline using:

nextflow run sanger-tol/blobtoolkit \
   -profile <docker/singularity/.../institute> \
   --input samplesheet.csv \
   --outdir <OUTDIR> \
   --fasta genome.fasta \
   --accession GCA_XXXXXXXXX.X \
   --taxon XXXX \
   --taxdump /path/to/taxdump/database \
   --blastp /path/to/diamond/database \
   --blastn /path/to/blastn/database \
   --blastx /path/to/blastx/database

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.

For more details, please refer to the usage documentation and the parameter documentation.

Pipeline output

For more details about the output files and reports, please refer to the output documentation.

Credits

sanger-tol/blobtoolkit was written in Nextflow by Alexander Ramos Diaz, Zaynab Butt, Matthieu Muffato, and Priyanka Surana. The orignal design and coding for BlobToolKit software and Snakemake pipeline was done by Richard Challis and Sujai Kumar.

We thank the following people for their assistance in the development of this pipeline:

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

Citations

If you use sanger-tol/blobtoolkit for your analysis, please cite it using the following doi: 10.5281/zenodo.7949058

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.