User Tools

Site Tools


funannotate-software

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

funannotate-software [2021/08/05 08:03] (current)
aorth created
Line 1: Line 1:
 +====== funannotate ======
 +funannotate is a pipeline for genome annotation (built specifically for fungi, but will also work with higher eukaryotes).
  
 +===== Information =====
 +
 +  * Version: 1.8.7
 +  * Added: August, 2021
 +  * Link: https://github.com/nextgenusfs/funannotate
 +
 +===== Usage =====
 +
 +See versions of funannotate that are available:
 +<code>$ module avail funannotate</code>
 +
 +Load a particular version into your environment and run it:
 +
 +<code>$ module load funannotate/1.8.7
 +$ funannotate --help</code>
 +
 +===== Installation ======
 +Notes from the sysadmin during installation:
 +
 +<code>$ mkdir -p /var/tmp/chroot/funannotate
 +$ rpm --rebuilddb --root=/var/tmp/chroot/funannotate
 +$ wget https://hpc.ilri.cgiar.org/mirror/centos/7/os/x86_64/Packages/centos-release-7-9.2009.0.el7.centos.x86_64.rpm
 +$ sudo rpm --root=/var/tmp/chroot/funannotate -i centos-release-7-9.2009.0.el7.centos.x86_64.rpm
 +$ sudo yum --installroot=/var/tmp/chroot/funannotate install -y rpm-build yum gcc wget vim perl
 +$ sudo cp /etc/resolv.conf /var/tmp/chroot/funannotate/etc
 +$ sudo mount --bind /dev/ /var/tmp/chroot/funannotate/dev
 +$ sudo mount -t proc procfs /var/tmp/chroot/funannotate/proc
 +$ sudo mount -t sysfs sysfs /var/tmp/chroot/funannotate/sys
 +$ sudo chroot /var/tmp/chroot/funannotate
 +# wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
 +# bash Miniconda3-latest-Linux-x86_64.sh -b -p /export/apps/funannotate/conda
 +# eval "$(/export/apps/funannotate/conda/bin/conda shell.bash hook)"
 +# conda config --add channels defaults
 +# conda config --add channels bioconda
 +# conda config --add channels conda-forge
 +# conda install -n base mamba
 +# mamba create -p /export/apps/funannotate/1.8.7 funannotate
 +# env > before-conda
 +# conda activate /export/apps/funannotate/1.8.7
 +# env > conda-funannotate-1.8.7
 +# exit
 +$ sudo mkdir -p /export/apps/funannotate/1.8.7
 +$ sudo chown aorth /export/apps/funannotate/1.8.7
 +$ rsync -av /var/tmp/chroot/funannotate/export/apps/funannotate/1.8.7/ /export/apps/funannotate/1.8.7
 +$ sudo chown -R root:root /export/apps/funannotate/1.8.7
 +$ sudo umount /var/tmp/chroot/funannotate/dev /var/tmp/chroot/funannotate/proc /var/tmp/chroot/funannotate/sys</code>
 +
 +funannotate has over fifty dependencies and is essentially impossible to install without the use of [[https://conda.io/miniconda.html|Miniconda]]. My strategy is to install Conda somewhere globally and then use it to install funannotate. After the installation is done I think we don't technically need Conda itself anymore, as all binaries seem to be linked against libraries in the funannotate/1.8.7 directory. Furthermore, I first installed funannotate/1.8.7 in a chroot on the local file system and then rsynced it over to the network applications directory. This is MUCH faster, but more importantly, it avoids random "permission denied" errors I was getting when installing on the network file system.
 +
 +To create the [[https://github.com/ilri/hpc-environment-modules/tree/master/funannotate|modulefile]] I compared the output ''env'' before and after loading the funannotate environment with Conda.
 +
 +Install databases:
 +
 +<code>$ module load funannotate/1.8.7
 +$ funannotate check --show-versions
 +$ sudo mkdir -p /export/apps/funannotate/1.8.7/db
 +$ sudo chown aorth /export/apps/funannotate/1.8.7/db
 +$ funannotate setup -d /export/apps/funannotate/1.8.7/db</code>
 +
 +Run built-in tests:
 +
 +<code>$ funannotate test -t all --cpus 12</code>
funannotate-software.txt · Last modified: 2021/08/05 08:03 by aorth