====== funannotate ======
funannotate is a pipeline for genome annotation (built specifically for fungi, but will also work with higher eukaryotes).
===== Information =====
* Version: 1.8.15
* Added: August, 2021
* Updated: April, 2023
* Link: https://github.com/nextgenusfs/funannotate
===== Usage =====
Funannotate is installed in a dedicated "container" environment using [[https://docs.sylabs.io/guides/latest/user-guide/|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