-
Notifications
You must be signed in to change notification settings - Fork 25
Download and Install
OS
- Linux distro (Compatibility on MacOS is NOT guaranteed. Windows is NOT supported)
- GLIBC >= 2.14
- GCC >= 4.9.0
Dependencies
- Perl >= 5.0
- STAR >= 2.4.0h
- Samtools >= 1.4
- Bedtools >= 2.20
Download (Releases)
wget https://github.com/williamritchie/IRFinder/archive/v1.3.0.tar.gz
tar -zxvf v1.3.0.tar.gz
On most machines, IRFinder can run out of box. You only need to give execution permissions to IRFinder scripts and you're ready to go.
chmod -R a+x IRFinder-1.3.0/bin
A new compilation of IRFinder core binary can be done using the source code coming with IRFinder package. This ensures the compatibility of IRFinder and users' system environment. The source code locates at src/irfinder
folder inside the IRFinder package. To build from source, a GCC version at least 4.9.0 with a GLIBC version at least 2.14 is required. The entire installation process is as simple as the following:
cd src/irfinder
make clean
make
cp irfinder ../../bin/util
The above steps will compile a new binary irfinder
and replace the original one coming with the package.
IRFinder is ready to go if everything returns no error. Common failure during compiling and their work around are provided below:
Error 1
ReadBlockProcessor_CoverageBlocks.cpp:234:9: error: ‘NAN’ was not declared in this scope
Solution:
Please add a new line of
#include <cmath>
at the beginning of includedefine.h
file. This forces the script to load cmath
library where the value of NAN
is defined. Then try to compile IRFinder again by
make clean
make
cp irfinder ../../bin/util
Error 2
/usr/bin/ld: cannot find -lm
Solution:
It suggests the compiler cannot find the math library.
If you're using RHEL 6.x distros, you can check if libm.a
or libm.so
is inside /usr/lib/x86_64-redhat-linux5E/lib64/
folder. If so, please open Makefile
and change the line of
LDFLAGS_static := -static -static-libgcc
to
LDFLAGS_static := -static -static-libgcc -L/usr/lib/x86_64-redhat-linux5E/lib64/
For other distros, please first use
sudo find / -type f -iname "libm.*"
to locate your math library. For example, if your libm.*
is located inside the /usr/lib/XXX
folder, please open Makefile
and change the line of
LDFLAGS_static := -static -static-libgcc
to
LDFLAGS_static := -static -static-libgcc -L/usr/lib/XXX
Then you should be able to compile IRFinder by
make clean
make
cp irfinder ../../bin/util
Error 3
clang: error: unsupported option '-fopenmp'
Solution:
This is more likely to happen on MacOS. Unfortunately, we don't have much experience on MacOS. The suggestion would be to use a suitable GCC compiler instead of clang (make sure GCC is used to compile instead of Clang after installing GCC).