When I run the MEME suite and specify the number of cores to use, it says I haven't configured the parallelization. Apparently a prerequisite for that is one of the following packages:
openmpicc
mpcc
mpicc
I looked through YaST2 and found only a package called openmpi, rather than openmpicc. Installing this package does not change anything.
How can I get MEME to use parallel computing? It is quite critical for the feasibility of my project.
You'd need to change the values of variables that point to your installation of OpenMPI, Ghostscript and ImageMagick, then make the build target. Hope this helps!
I don't really understand your question, but you could replace GS, CONVERT, and MPIDIR with the directories containing Ghostscript, ImageMagick convert, and your OpenMPI installation folder. Replace RESULTS_DIR with a directory where you want MEME installed. Then run make download, make extract, and make build to download and extract the current version of MEME, and build it with OpenMPI support.
You don't replace anything. You can create a directory, put this makefile in that directory and then follow the steps I describe (edit this makefile, then make the specified targets). This makefile downloads MEME and compiles it with support for OpenMPI.
Ah, I understand now. Why do you have such a makefile?
I received help from the OpenSUSE irc chat, apparently meme couldn't on its own find the mpicc/mpirun installation directory. So weird... but it works now.
Alright. I finally got it working by downloading openmpi from the developer's website, installing it in my home folder, and specifying that installation folder while configuring MEME. I will never trust YaST again when it comes to niche or avant-garde software :(
Does that file override the default one, or should I concatenate them somehow?
I don't really understand your question, but you could replace
GS
,CONVERT
, andMPIDIR
with the directories containing Ghostscript, ImageMagickconvert
, and your OpenMPI installation folder. ReplaceRESULTS_DIR
with a directory where you want MEME installed. Then runmake download
,make extract
, andmake build
to download and extract the current version of MEME, and build it with OpenMPI support.The MEME readme says to install by:
Are all of those four steps replaced by the steps that you described?
If yes, do I only replace the standard make-file with the one you gave in your first reply?
You don't replace anything. You can create a directory, put this makefile in that directory and then follow the steps I describe (edit this makefile, then make the specified targets). This makefile downloads MEME and compiles it with support for OpenMPI.
Ah, I understand now. Why do you have such a makefile?
I received help from the OpenSUSE irc chat, apparently meme couldn't on its own find the mpicc/mpirun installation directory. So weird... but it works now.
Thanks a huge bunch though!
We use a customized build of MEME for analyzing chromatin data, so having a version that is multiprocessor-capable is useful for us.
How customized is it? Could it still be used for standard motif discovery?
The makefile I show here contains no such modifications. It makes a stock version of MEME, albeit one that can be run with multiple processors.
Alright. I finally got it working by downloading openmpi from the developer's website, installing it in my home folder, and specifying that installation folder while configuring MEME. I will never trust YaST again when it comes to niche or avant-garde software :(
Thank you regardless, Alex!