Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

YAAPi-nf: Yeast Assembly and Annotation Pipeline

YAAPi-nf is a modular, bioinformatics pipeline built with Nextflow. It is specifically designed for the de novo assembly and annotation of yeast genomes using Illumina paired-end reads.

The pipeline is highly portable, supporting Docker, Singularity, and Conda, and is optimised for High-Performance Computing (HPC) environments using the SLURM scheduler.


🧬 Pipeline Overview

The pipeline is organised into three main subworkflows:

  1. Quality Control & Preprocessing (QUALITY_CONTROL)
    • Raw read QC (FastQC)
    • Adapter trimming and quality filtering (Trimmomatic)
    • Post-trimming QC (FastQC)
    • K-mer analysis for genome size and ploidy estimation (Jellyfish & GenomeScope2)
  2. Assembly & Evaluation (ASSEMBLY_EVALUATION)
    • De novo assembly (MEGAHIT)
    • Assembly statistics (GFAStats)
    • Genome completeness assessment (BUSCO in Genome mode)
    • Reference-free assembly evaluation (Merqury)
    • Taxonomic contamination check (Kraken2)
    • Mitochondrial/Organelle identification (Mito Check - BLAST-based)
  3. Genome Annotation (ANNOTATION)
    • Gene prediction and annotation (Funannotate)
    • Annotation quality control (BUSCO in Proteome mode)
  4. Reporting
    • Aggregation of all QC metrics and logs into a single interactive report (MultiQC)
    • Automatic collection of software versions for reproducibility.

πŸš€ Quick Start

  1. Prepare your samplesheet (see Inputs below).
  2. Run the pipeline:
    nextflow run main.nf --input samplesheet.csv --outdir ./results -profile singularity

For HPC users (SLURM), use the provided wrapper script:

sbatch yaapi.sh samplesheet.csv ./results

πŸ“₯ Inputs

Samplesheet Requirement

The pipeline requires a mandatory CSV samplesheet provided via the --input flag.

Format (samplesheet.csv):

sample,fastq_1,fastq_2
SampleA,reads/sampleA_R1.fastq.gz,reads/sampleA_R2.fastq.gz
SampleB,reads/sampleB_R1.fastq.gz,reads/sampleB_R2.fastq.gz

βš™οΈ Parameters

Mandatory

Parameter Description
--input Path to the CSV samplesheet.

Database Paths (Configured in nextflow.config)

Parameter Description
--busco_db Path to BUSCO database lineages.
--kraken2_db Path to Kraken2 standard/custom database.
--mito_db Path to BLAST database for organelle checking.
--funannotate_db Path to the Funannotate database root.

Optional Tool Settings

Parameter Description Default
--outdir Output directory for results. ./results
--single_out If true, omits sample subfolders in output. false
--busco_lineage Lineage to use for BUSCO. fungi_odb10
--kmer_length K-mer size for Jellyfish/Merqury. 21
--ploidy Expected ploidy for GenomeScope2. 2
--skip_annotation Skips the Funannotate and Proteome QC steps. false

πŸ“‚ Outputs

Results are organised by sample and then by process/tool:

results/
β”œβ”€β”€ SampleA/
β”‚ β”œβ”€β”€ fastqc/ # Read QC reports
β”‚ β”œβ”€β”€ trimmomatic/ # Trimmed FASTQ files
β”‚ β”œβ”€β”€ megahit/ # Assembly (fasta)
β”‚ β”œβ”€β”€ busco/ # Genome-level BUSCO results
β”‚ β”œβ”€β”€ kraken2/ # Taxonomic reports
β”‚ β”œβ”€β”€ funannotate/ # GFF3, Proteins, and Transcripts
β”‚ └── busco_proteome/ # Protein-level BUSCO results
β”œβ”€β”€ pipeline_info/ # Execution reports, timelines, and software_versions.yml
└── multiqc_report.html # Final aggregated report

πŸ› οΈ Infrastructure Support

Profiles

  • -profile singularity: Uses Singularity/Apptainer containers (recommended for HPC).
  • -profile docker: Uses Docker containers.
  • -profile conda: Uses Conda environments (less reproducible).
  • -profile slurm: Enables the SLURM executor for cluster job submission.

Resource Management

The pipeline uses a dynamic resource allocation strategy defined in conf/base.config. If a task fails due to memory limits (Exit 137), it will automatically retry once with doubled resources.

About

A yeast assembly and annotation pipeline for use with Illumina PE reads.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /