[maker-devel] MPI test

Carson Holt carsonhh at gmail.com
Wed Aug 3 10:16:57 MDT 2016


The issue is that you moved the …/maker/perl directory after initial setup. So when maker runs it can’t find the files, and tries to rebuild the shared objects for C/Perl MPI binding that are missing (compiles on demand).

Solutions (one of the following two options)
1. Install maker as indicated in the INTALL file and then append the path for …/maker/bin/ to the PATH environmental variable in /etc/profile (i.e. export PATH=/usr/local/maker/bin:$PATH).
2. Install maker as indicated in the INTALL file and then soft link the executables in …/maker/bin/ to the location of your choice (i.e. /usr/bin/ or /usr/local/bin/ - this is what homebrew does for example). 

Example:
MacBook-Pro:~ cholt$ ls -al /usr/local/bin/maker
lrwxr-xr-x  1 cholt  admin  32 Oct 25  2015 /usr/local/bin/maker -> ../Cellar/maker/2.31.8/bin/maker

Notice that the softink in /usr/local/bin/ is pointing to the actual location where homebrew placed the installation. Doing something similar would be better than you trying to break up the installation structure. Basically they move the contents of …/maker/* to /usr/local/Cellar/maker/2.31.8/, then they performed all installation steps there, and then softlinked the executables elsewhere using ‘ln -s'


When you install maker, you have to run the setup steps in …/maker/src/. After install, …/maker/bin/ will contain executables and …/maker/perl/ and …/maker/lib/ will contain libraries and shared objects used by those executables. Remember the executables are not binaries, they are scripts, so they need access to the libraries and shared objects used by the scripts. The executables know to look for libraries/files in the installation folder, but if you move them, the @INC search list used by perl will not find them. You can try and manually declare new locations to search in the @INC list using the PERL5LIB environmental variable (but using PERL5LIB is beyond the scope of the maker-devel list and can be investigated using Perl’s own docs).

Also as explained in the homebrew example above, the base directory does not have to be named ‘maker’. You can name it whatever you want. It is just the installation structure within the containing directory that has to be consistent.

Alternatively if you are doing something more complex like a ‘module’ setup using lua based modules just use the prepend_path command to add the .../maker/bin foldert to the environment on demand —>

Example:

-- -*- lua -*-
help(
[[
This module loads the MAKER genome annotation pipeline
]])

whatis("Name: MAKER")
whatis("Version: 2.31.8")
whatis("Category: Gene Annotation")
whatis("Keywords: Gene Annotation")
whatis("URL: http://www.yandell-lab.org/software/maker.html")
whatis("Description: MAKER is a highly parallelized genome annotation/re-annotation pipeline")

-- Load required modules
load("openmpi/1.8.4.i", "genemark-ES", "augustus", "snap", "exonerate", "ncbi-blast+", "RepeatMasker")

-- Prepare needed values
local APPS     = "/ucgd/apps/"
local id       = "maker"
local version  = "2.31.8"
local base     = pathJoin(APPS, id, version)
local bin      = pathJoin(base, "bin")

-- Set PATH and other environmental variables
prepend_path("PATH", bin)
prepend_path("LD_PRELOAD", "/ucgd/apps/openmpi/1.8.4i/lib/libmpi.so")
setenv("OMPI_MCA_mpi_warn_on_fork", 0)


—Carson


> On Aug 3, 2016, at 3:25 AM, sebastien.moretti at unil.ch wrote:
> 
> OK, I removed execution rights for mpi_evaluator.
> 
> I tried mpiexec -n 10 maker
> MPI tries to write in the maker/perl/ directory.
> This is an issue for me because maker is installed in a read-only file
> system.
> 
> Is there an option or something to tell MPI to write elsewhere?
> 
> Sébastien
> 
>> To run MAKER with MPI, you just call maker with mpiexec. Examples can be found on the MAKER wiki, in the devel list archives, and in the README/INSTALL guide.
>> 
>> Basically something like this to run on 10 CPUs —> mpiexec -n 10 maker
>> 
>> Any other MPI options will depend on the flavor of MPI you use, and your cluster settings.
>> 
>> —Carson
>> 
>> 
>> 
>>> On Aug 2, 2016, at 6:00 AM, Sebastien Moretti <sebastien.moretti at unil.ch> wrote:
>>> 
>>> Hi
>>> 
>>> I compiled maker with MPI support and would like to test it.
>>> So I tried to run mpi_evaluator but it fails because Parallel/MPIcar.pm
>>> is missing.
>>> 
>>> What does mpi_evaluator do?
>>> How to test properly MPI in maker?
>>> 
>>> maker 2.31.8, Linux x86_64 2.6.32, Perl 5.18.2
>>> openmpi 1.8.1
>>> 
>>> Regards
> 
> --
> Sébastien Moretti
> Staff Scientist
> SIB Vital-IT EMBnet, Quartier Sorge - Genopode
> CH-1015 Lausanne, Switzerland
> Tel.: +41 (21) 692 4079/4221
> http://www.vital-it.ch/ http://myhits.vital-it.ch/ http://MetaNetX.org/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://yandell-lab.org/pipermail/maker-devel_yandell-lab.org/attachments/20160803/8c3048bf/attachment-0003.html>


More information about the maker-devel mailing list