-
Notifications
You must be signed in to change notification settings - Fork 1
Larofeticus/hpc_hmmsearch
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
How to use hpc_hmmsearch: Go to hmmer.org and get a copy of the source code for HMMER3.3.2. Unpack it, follow the build instructions. On Cori, build process is to run autoconf and ./configure CC=cc (on a cray system with their compiler wrappers, configure doesn't understand and might give you flags for the wrong compiler, CC=cc is the workaround for that) Copy hpc_hmmseach.c into the src/ directory. When you make, add V=1 to see the full command lines being run. Pick out the compile and link lines for hmmsearch.c cd to the src directory, take those lines, add the hpc_ prefix to the .c .o and output file names, and add the appropriate compiler flag to use openmp, -openmp or maybe -qopenmp OpenMP version 3.5 is the minimum. This won't work on your macbook because that builds with clang and only supports up to openmp 3.1 Command line behavior is exactly the same as hmmsearch except for this section of arguments: Input buffer and thread control: --seq_buffer <n> : set # of sequences per thread buffer [200000] (n>=1) --hmm_buffer <n> : set # of hmms per thread hmm buffer [500] (n>=1) --cpu <n> : set # of threads [1] (n>=1) The xxx_buffer arguments control the size of the input buffers; larger buffers use more memory and require fewer synchronizations. One full buffer must be read to prime the pipeline before computation begins, so very large buffers that hold the entire file are usually not optimal. The cpu argument is different from hmmsearch. This is the total number of the threads the entire application will use, while hmmsearch presumes n worker threads plus the additional master thread. Not needing to add +1 arithmatic all over job scheduling scripts is a nice removed inconvenience.
About
Top level driver addition to a HMMER3.1b2 installation which more efficiently runs many sequence to many model searches on many cores with threading.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published