Hello,
I am using Ubuntu 18.04 LTS and have downloaded GRASShoPER and am trying to compile and install. I have installed all the dependencies. When I try to compile, I get an error with Seqan (see attached text file) and below:
g++ -std=c++14 cutt_overlapping.cpp -o cutt.exe
cutt_overlapping.cpp:208:75: error: ‘seqan::BamFileIn’ has not been declared
void cut_overlaps(std::vector <seqan::BamAlignmentRecord> records, seqan::BamFileIn& bamFileIn) {
^~~~~~~~~
cutt_overlapping.cpp: In function ‘void cut_overlaps(std::vector<seqan::BamAlignmentRecord>, int&)’:
cutt_overlapping.cpp:214:24: error: ‘getContigLength’ was not declared in this scope
int shortest_len = getContigLength(records[0], bamFileIn);
^~~~~~~~~~~~~~~
cutt_overlapping.cpp: In function ‘void process_sam_file(std::__cxx11::string)’:
cutt_overlapping.cpp:252:12: error: ‘BamFileIn’ is not a member of ‘seqan’
seqan::BamFileIn bamFileIn;
^~~~~~~~~
cutt_overlapping.cpp:252:12: note: suggested alternative: ‘BamFlags’
seqan::BamFileIn bamFileIn;
^~~~~~~~~
BamFlags
cutt_overlapping.cpp:253:15: error: ‘bamFileIn’ was not declared in this scope
if (!open(bamFileIn, toCString(bamFileName))) {
^~~~~~~~~
cutt_overlapping.cpp:253:15: note: suggested alternative: ‘bamFileName’
if (!open(bamFileIn, toCString(bamFileName))) {
^~~~~~~~~
bamFileName
cutt_overlapping.cpp:259:24: error: ‘bamFileIn’ was not declared in this scope
readHeader(header, bamFileIn);
^~~~~~~~~
cutt_overlapping.cpp:259:24: note: suggested alternative: ‘bamFileName’
readHeader(header, bamFileIn);
^~~~~~~~~
bamFileName
cutt_overlapping.cpp:259:5: error: ‘readHeader’ was not declared in this scope
readHeader(header, bamFileIn);
^~~~~~~~~~
cutt_overlapping.cpp:259:5: note: suggested alternative: ‘readahead’
readHeader(header, bamFileIn);
^~~~~~~~~~
readahead
cutt_overlapping.cpp:265:12: error: ‘atEnd’ was not declared in this scope
while(!atEnd(bamFileIn)) {
^~~~~
cutt_overlapping.cpp:265:12: note: suggested alternative:
In file included from /usr/include/seqan/bam_io.h:107:0,
from cutt_overlapping.cpp:1:
/usr/include/seqan/bam_io/bam_stream.h:603:13: note: ‘seqan::atEnd’
inline bool atEnd(BamStream & bamIO)
^~~~~
Makefile:4: recipe for target 'cutt.exe' failed
make: *** [cutt.exe] Error 1
STOPPING...
Nevermind - the issue was a very old (1.4) version of SeqAn that is installed as the default on Ubuntu 18.04. I downloaded a much newer version 2.4 from the Debian Repos and GRASShopPER compiled without the SeqAn error.