====== Maker ======
MAKER is a portable and easily configurable genome annotation pipeline. Its purpose is to allow smaller eukaryotic and prokaryotic genome projects to independently annotate their genomes and to create genome databases.
===== Information =====
* Version: 3.01.03
* Added: April, 2014
* Updated: November, 2020
* Link: https://www.yandell-lab.org/software/maker.html
===== Usage =====
See versions of maker that are available:
$ module avail maker
Load a particular version into your environment and run it:
$ module load maker/3.01.03
$ maker -h
**Note 1:** Maker generates literally millions of small files. Please please please make sure you direct your program output to the local ''/var/scratch'' directory on the compute node where your job is running. Your job will run much faster and will not burden the network file system on ''/home''.
**Note 2:** Maker uses a lot of temporary storage in ''/tmp'' by default. Please make sure to use something like ''-TMP /var/scratch'' to use a more appropriate location.
===== Installation ======
Notes from the sysadmin during installation:
$ mkdir -p /var/tmp/chroot/maker
$ rpm --rebuilddb --root=/var/tmp/chroot/maker
$ 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/maker -i centos-release-7-9.2009.0.el7.centos.x86_64.rpm
$ sudo yum --installroot=/var/tmp/chroot/maker install -y rpm-build yum gcc wget vim perl perl-App-cpanminus.noarch expat-devel
$ sudo cp /etc/resolv.conf /var/tmp/chroot/maker/etc
$ sudo mount --bind /dev/ /var/tmp/chroot/maker/dev
$ sudo mount -t proc procfs /var/tmp/chroot/maker/proc
$ sudo mount -t sysfs sysfs /var/tmp/chroot/maker/sys
$ sudo chroot /var/tmp/chroot/maker
# mkdir -p /export/apps/maker/3.01.03/deps/lib/perl5
# export PERL5LIB="/export/apps/maker/3.01.03/deps/lib/perl5"
# tar xf maker-3.01.03.tgz
# cp -r maker/* /export/apps/maker/3.01.03
# cd /export/apps/maker/3.01.03/src
# Check Perl dependencies that need satisfying...
# perl Build.PL
# cpanm -l /export/apps/maker/3.01.03/deps DBD::SQLite
# cpanm -l /export/apps/maker/3.01.03/deps forks::shared
# cpanm -l /export/apps/maker/3.01.03/deps Bit::Vector
# cpanm -l /export/apps/maker/3.01.03/deps IO::All
# cpanm -l /export/apps/maker/3.01.03/deps Want
# cpanm -l /export/apps/maker/3.01.03/deps Inline::C
# cpanm -l /export/apps/maker/3.01.03/deps Env
# cpanm -l /export/apps/maker/3.01.03/deps Bio::Root::Version
# cpanm -l /export/apps/maker/3.01.03/deps Perl::Unsafe::Signals
# exit
$ sudo mkdir -p /export/apps/maker/3.01.03
$ sudo chown aorth:aorth /export/apps/maker/3.01.03
$ rsync -av /var/tmp/chroot/maker/export/apps/maker/3.01.03/ /export/apps/maker/3.01.03
$ cd /export/apps/maker/3.01.03/src
$ export PERL5LIB="/export/apps/maker/3.01.03/deps/lib/perl5"
# Check that all Perl dependencies are satisfied...
$ perl Build.PL
$ module load repeatmasker/4.1.1 snap/2013-11-29 exonerate/2.2.0 augustus/3.2.3
# change permissions on this table of contents that Maker's build script wants to touch:
$ sudo chown -R aorth:aorth /export/apps/perl/5.16.3.1603/html/perltoc.html
# install mpich-3.2-devel so we can get mpicc to enable MPI support in Maker
$ sudo yum install mpich-3.2-devel.x86_64
$ perl Build.PL
$ ./Build install
$ sudo chown -R root:root /export/apps/maker/3.01.03
$ sudo umount /var/tmp/chroot/maker/dev /var/tmp/chroot/maker/proc /var/tmp/chroot/maker/sys
Maker requires a handful of Perl modules to be installed, which is very slow on the network file system. I solve this by beginning the installation in a chroot on the local ''/var/tmp'' file system and then copying it over to the network applications directory with rsync once I'm done.