I am trying to filter false positives from a VarScan2 somatic variant call using the fpfilter program.
For that I need to install bam-headcount, but get the following error when invoking make (cmake seems to work fine):
$ cmake
-- The C compiler identification is GNU 4.4.7
-- The CXX compiler identification is GNU 4.4.7
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
No CMAKE_BUILD_TYPE specified, defaulting to release
Extracting boost from /home/user/lib/bam-readcount_master/bam-readcount/vendor/boost-1.55-bamrc.tar.gz
Boost build log can be found at /home/user/lib/bam-readcount_master/vendor/boost-src/build.log
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.3")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/lib/bam-readcount_master
$ make
...
Scanning dependencies of target bam-readcount
[ 87%] Building CXX object build/src/exe/bam-readcount/CMakeFiles/bam-readcount.dir/bamreadcount.cpp.o
Linking CXX executable ../../../../bin/bam-readcount
../../../../vendor/boost/lib/libboost_program_options.a(cmdline.o): In function `boost::program_options::detail::cmdline::parse_long_option(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
cmdline.cpp:(.text+0x1c8a): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
cmdline.cpp:(.text+0x1cb4): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
cmdline.cpp:(.text+0x1cdf): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
../../../../vendor/boost/lib/libboost_program_options.a(cmdline.o): In function `boost::program_options::detail::cmdline::parse_dos_option(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
cmdline.cpp:(.text+0x23ef): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
../../../../vendor/boost/lib/libboost_program_options.a(cmdline.o): In function `boost::program_options::detail::cmdline::parse_short_option(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
cmdline.cpp:(.text+0x2ff6): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
../../../../vendor/boost/lib/libboost_program_options.a(cmdline.o):cmdline.cpp:(.text+0x544d): more undefined references to `std::__throw_out_of_range_fmt(char const*, ...)' follow
collect2: ld returned 1 exit status
make[2]: *** [bin/bam-readcount] Error 1
make[1]: *** [build/src/exe/bam-readcount/CMakeFiles/bam-readcount.dir/all] Error 2
make: *** [all] Error 2
Any idea?
Is there another way to filter false positives without read-bamcount (except processSomatic that I already used)? Or even another Somatic SNP + indeed caller than VarScan2 (except GATK MuTect2 that takes ages)?
Thanks for your help !
Note:
Linux version 2.6.32
EDIT:
It seemed that the program did not like my gcc compiler. Switching to g++ solved the issue.
export CXX=/path/to/g++
git clone https://github.com/genome/bam-readcount.git
cmake /path/to/bam-readcount/repo
make
Thanks Natasha. The gcc compiler was the problem (see EDIT above).