Introduction

nf-core/genomeqc is a bioinformatics pipeline that compares the quality of multiple genomes, along with their annotations.

The pipeline takes a list of genomes and annotations (from local files or ncbi accessions), and runs commonly used tools to assess their quality.

Depending on the inputs provided, there are two ways this pipeline can run:

  1. Genome only (minmal run, only fasta files are supplied)
  2. Genome and Annotation (both fasta and gtf/gff files are supplied)
nf-core/genomeqc

1. Genome Only:

  1. Downloads the genome files from NCBI: NCBI genome download - Or provide your own genomes.
  2. Describes genome assembly:
    1. BUSCO: Evaluates genome completeness based on single copy markers.
    2. BUSCO Ideogram: Plots the location of BUSCO markers in the assembly.
    3. tidk (optional): Identifies and visualises telomeric repeats.
    4. QUAST: Computes contiguity and integrity statistics such as N50, N90, GC%, and the number of sequences.
    5. Contamination screening:
      • FCS-GX: Detection and removal of foreign organism contamination.
      • FCS-adaptor: Detection and removal of adaptor and vector contamination.
      • Tiara: DNA sequence classification.
  3. Plots a BUSCO marker-based phylogenetic tree with assembly summary statistics: Tree Summary.
  4. Summary with MultiQC.

2. Genome and Annotation:

  1. Downloads the genome and gene annotation files from NCBI: NCBI genome download - Or provide your own genomes and annotations.
  2. Describes genome assembly:
    1. BUSCO: Evaluates genome completeness based on single copy markers.
    2. BUSCO Ideogram: Plots the location of markers on the assembly.
    3. Merqury (optional): Evaluates genome completeness based on sequencing reads.
    4. tidk (optional): Identifies and visualises telomeric repeats.
    5. QUAST: Computes contiguity and integrity statistics: N50, N90, GC%, number of sequences.
    6. Contamination screening:
      • FCS-GX: Detection and removal of foreign organisms contamination.
      • FCS-adaptor: Detection and removal of adaptor and vector contamination.
      • Tiara: DNA sequence classification.
    7. More options…
  3. Describes annotation :
    1. AGAT: Number of genes, features, length…
    2. Gene Overlaps: Finds the number of overlapping genes.
  4. Extracts longest protein isoform: GffRead.
  5. Finds orthologous genes: Orthofinder.
  6. Plots an orthology-based phylogenetic tree with assembly and annotation summary statistics: Tree Summary.
  7. Summary with MultiQC.

The pipeline outputs an executable that launches a shiny app with the tree plot and the summary statistics. The plot’s parameters can be modified, and summary statistics can be added or removed in real time. Once the plot has been adjusted, it can be saved as png/svg.

Warning

We strongly suggest users to specify the lineage using the --busco_lineage parameter, as setting the lineage to auto (default value) might cause problems with BUSCO during the lineage determination step.

Note

BUSCO Ideogram will only plot those chromosomes -or scaffolds- that contain at least one single copy marker.

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 an input samplesheet in csv format (e.g. samplesheet.csv). You can prepare your sampplesheet using:

1. Local files

Simply point out to your local genome assembly and annotation (in FASTA and GFF format, respectively) using the fasta and gff fields:

species,fasta,gff
species_1,/path/to/genome1.fasta,/path/to/annotation1.gff3
species_2,/path/to/genome2.fasta,/path/to/annotation2.gff3
species_3,/path/to/genome3.fasta,/path/to/annotation3.gff3

2. ncbi accessions

Additionally, you can run the pipeline providing ncbi accessions (RefSeq or GenBank, depeding on the mode you wish to run) in the refseq field:

species,refseq
species_1,GCF_000000001.1
species_2,GCF_000000002.1
species_3,GCF_000000003.1

3. Both

You can combine both input types in the same samplesheet:

species,refseq,fasta,gff
species_1,GCF_000000001.1
species_2,,/path/to/genome2.fasta,/path/to/annotation2.gff3
species_3,GCF_000000003.1
species_4,,/path/to/genome4.fasta,/path/to/annotation4.gff3

Run the pipeline

Run the pipeline using:

nextflow run nf-core/genomeqc \
   -profile <docker/singularity/.../institute> \
   --input samplesheet.csv \
   --outdir <OUTDIR>

You can run the pipeline using a test profile and docker:

nextflow run nf-core/genomeqc -profile test,docker --outdir ./results
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 and further functionality, please refer to the usage documentation and the parameter documentation.

Pipeline output

To see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the output documentation.

Credits

nf-core/genomeqc was originally written by Chris Wyatt and Fernando Duarte at the University College London.

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

Contributions and Support

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

For further information or help, don’t hesitate to get in touch on the Slack #genomeqc channel (you can join with this invite).

Citations

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

You can cite the nf-core publication as follows:

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.

python app/downloader-utility.py —clade “Chordata” —project_name “DToL” —data_status “Mapped Reads - Done” —experiment_type “Chromium genome” —download_location “/Users/raheela/Documents” —download_option “assemblies” —species_list “Apamea sordens,Bufo bufo”