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.