Table of Contents

funannotate

funannotate is a pipeline for genome annotation (built specifically for fungi, but will also work with higher eukaryotes).

Information

Usage

Funannotate is installed in a dedicated "container" environment using Singularity (similar to Docker, but more suited to HPC environments) so you need to run it a bit differently than other software. Here is an example SLURM batch script, funannotate.sbatch:

#!/usr/bin/env bash
#SBATCH -p batch
#SBATCH -n 10
#SBATCH -J funannotate

# Set up output directory in scratch
WORKDIR=/var/scratch/aorth/funannotate/2022-06-09

mkdir -p "$WORKDIR" && cd "$WORKDIR"

echo "SLURM job ID $SLURM_JOBID using $WORKDIR on $SLURMD_NODENAME"

DATADIR=/home/aorth/data
rnaseq_ont="${DATADIR}/ayb_leaf_stem_root.fastq"
genome="${DATADIR}/ayb_11chrs_assembly_soft_masked.fasta"

# The most important thing is to bind the input files and output directory.
singularity run \
            --bind "$genome:$genome","$rnaseq_ont:$rnaseq_ont","$WORKDIR:$WORKDIR" \
            /export/apps/funannotate/1.8.15/funannotate.sif \
            funannotate train --input "$genome" \
            --out "$WORKDIR" \
            --nanopore_cdna "$rnaseq_ont" \
            --max_intronlen 10000 \
            --jaccard_clip --species "Sphenotylis stenocarpa" \
            --cpus $SLURM_NTASKS

Note the use of bind to map the input files and working directory from the compute node into the container.

Installation

Notes from the sysadmin during installation:

$ export SINGULARITY_TMPDIR=/var/scratch/aorth
$ mkdir $SINGULARITY_TMPDIR
$ singularity pull /var/scratch/funannotate.sif docker://nextgenusfs/funannotate:v1.8.15
$ sudo mkdir -p /export/apps/funannotate/1.8.15
$ sudo cp /var/scratch/funannotate.sif /export/apps/funannotate/1.8.15

Run built-in tests:

singularity run \
            /export/apps/funannotate/1.8.15/funannotate.sif \
            funannotate test -t all --cpus 10