EXOGAP (EXotic Organism Genome Annotation Pipeline) is a Nextflow DSL2 workflow for comprehensive annotation of genomes from non-model species. It integrates tools for repetitive element identification, protein-coding gene prediction and non-coding gene prediction. The pipeline can annotate multiple related genomes in a single run and formats outputs for deposition in public databases.
Main modules:
- Repetitive element annotation: RepeatModeler, RepeatMasker (uses FamDB).
- Protein-coding gene annotation: MAKER2, AUGUSTUS, SNAP, BLAST, InterProScan.
- Non-coding gene annotation: tRNAscan-SE, RNAmmer, Barrnap, Infernal, SnoScan.
Prerequisites:
- Nextflow (recommended >= 24.04)
- Singularity / Apptainer
Clone the repository:
git clone https://github.com/dorinemerlat/exogap.git
cd exogapPrepare a samplesheet CSV describing genomes to annotate.
- Samplesheet (required): a CSV describing genomes. Required columns:
name,taxid,fasta. Optional columns supported:RNASeq-dir(path to directory with FASTQ files),SRA(SRA accessions),repeats_set(FASTA library). - Main config:
nextflow.config(orexample/nextflow_example.config) controls runtime options. Key params:input: path to samplesheet CSV (or pass--inputon CLI).module_repeats,module_genes,module_ncgenes: enable/disable modules (booleans).group_consensus_sequences: (repeats) boolean to share consensus across genomes.reference_library: optional repeats library FASTA for repeat annotation.protein_set: (genes) path to protein FASTA used for gene annotation.outdir: output directory (defaultout).publish_dir_mode: how results are published (defaultcopy).max_memory,max_cpus,max_time: global resource caps for processes.env.NXF_SINGULARITY_CACHEDIR: where Singularity/Apptainer caches images (default$projectDir/.singularity/).
Run with your config and samplesheet:
nextflow run . -c nextflow.config --input samplesheet.csv -profile singularityUse the example config:
nextflow run . -c example/nextflow_example.config --input example/samplesheet_example.csv -profile singularityTo continue after fixing an error, add -resume:
nextflow run . -c nextflow.config --input samplesheet.csv -profile singularity -resumeMinimal example samplesheet (samplesheet.csv):
name,taxid,fasta
Felis catus,9685,/path/to/felis-catus.fa
Column description:
- name (required): display name used in reports (alphanumeric, spaces, '-' and '_' allowed).
- taxid (required): NCBI taxon id (use nearest parent taxid if exact id not available).
- fasta (required): path to fasta assembly file (absolute or relative).
- RNASeq-dir (optional): path to directory containing RNA-Seq FASTQ files for this genome (single-end or paired-end, .fastq or .fastq.gz).
- SRA (optional): comma-separated list of SRA accessions for RNA-Seq data
Fill the nextflow.config file.
Run the pipeline (example):
nextflow run main.nf -profile <singularity|docker|...> --config nextflow.config
Generated outputs include per-genome annotation files (GFF), fasta sequences and summary reports.
Originally written by Dorine Merlat (dorine.merlat@etu.unistra.fr). Thanks to Arnaud Kress and Odile Lecompte for assistance.
If you would like to contribute to this pipeline, please see the contributing guidelines.
For issues or support, please open an issue on the pipeline GitHub repository.
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.

