Entering edit mode
3.2 years ago
hafiz.talhamalik
▴
350
I am trying to install AMOS-3.1.0 but facing following error. I have searched and posted on their sourceforce page as well but could get much help. I will be very grateful if someone could help me resolve this issue.
In file included from /usr/include/c++/9/ext/hash_map:60,
from ../../src/AMOS/utility_AMOS.hh:48,
from ../../src/AMOS/foundation_AMOS.hh:13,
from genome-complexity-fast.cc:1:
**/usr/include/c++/9/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]**
32 | #warning \
| ^~~~~~~
**genome-complexity-fast.cc:21:74: error: template argument 3 is invalid**
21 | HASHMAP::hash_multimap<Mer_t, MerVertex_t *, hash<unsigned long> > MerTable_t;
| ^
**genome-complexity-fast.cc: In member function ‘MerVertex_t* deBrujinGraph_t::getVertex(const Mer_t&, int, int)’:
genome-complexity-fast.cc:602:26: error: qualified-id in declaration before ‘m’
602 | MerTable_t::iterator m = mers_m.find(mer);**
| ^
**genome-complexity-fast.cc:604:13: error: ‘m’ was not declared in this scope; did you mean ‘tm’?
604 | while ((m != mers_m.end()) &&**
| ^
| tm
genome-complexity-fast.cc:604:25: error: request for member ‘end’ in ‘((deBrujinGraph_t*)this)->deBrujinGraph_t::mers_m’, which is of non-class type ‘MerTable_t’ {aka ‘int’}
604 | while ((m != mers_m.end()) &&
| ^~~
**genome-complexity-fast.cc:617:5: error: ‘m’ was not declared in this scope; did you mean ‘tm’?
617 | m = mers_m.insert(make_pair(mer, new MerVertex_t(startpos, endpos)));**
| ^
| tm
**genome-complexity-fast.cc:617:16: error: request for member ‘insert’ in ‘((deBrujinGraph_t*)this)->deBrujinGraph_t::mers_m’, which is of non-class type ‘MerTable_t’ {aka ‘int’}
617 | m = mers_m.insert(make_pair(mer, new MerVertex_t(startpos, endpos)))**;
| ^~~~~~
genome-complexity-fast.cc: In member function ‘int deBrujinGraph_t::nodeCount()’:
genome-complexity-fast.cc:663:19: error: request for member ‘size’ in ‘((deBrujinGraph_t*)this)->deBrujinGraph_t::mers_m’, which is of non-class type ‘MerTable_t’ {aka ‘int’}
663 | return mers_m.size();
| ^~~~
genome-complexity-fast.cc: In member function ‘void deBrujinGraph_t::convertToNodes()’:
**genome-complexity-fast.cc:785:31: error: qualified-id in declaration before ‘mi’
785 | for (MerTable_t::iterator mi = mers_m.begin();**
| ^~
genome-complexity-fast.cc:785:30: error: expected ‘;’ before ‘mi’
785 | for (MerTable_t::iterator mi = mers_m.begin();
| ^~~
| ;
genome-complexity-fast.cc:785:31: error: ‘mi’ was not declared in this scope
785 | for (MerTable_t::iterator mi = mers_m.begin();
| ^~
genome-complexity-fast.cc:785:43: error: request for member ‘begin’ in ‘((deBrujinGraph_t*)this)->deBrujinGraph_t::mers_m’, which is of non-class type ‘MerTable_t’ {aka ‘int’}
785 | for (MerTable_t::iterator mi = mers_m.begin();
| ^~~~~
genome-complexity-fast.cc:786:23: error: request for member ‘end’ in ‘((deBrujinGraph_t*)this)->deBrujinGraph_t::mers_m’, which is of non-class type ‘MerTable_t’ {aka ‘int’}
786 | mi != mers_m.end();
| ^~~
genome-complexity-fast.cc:786:28: error: expected ‘)’ before ‘;’ token
786 | mi != mers_m.end();
| ^
| )
genome-complexity-fast.cc:785:9: note: to match this ‘(’
785 | for (MerTable_t::iterator mi = mers_m.begin();
| ^
genome-complexity-fast.cc:787:10: error: ‘mi’ was not declared in this scope
787 | mi++)
| ^~
genome-complexity-fast.cc:799:12: error: request for member ‘clear’ in ‘((deBrujinGraph_t*)this)->deBrujinGraph_t::mers_m’, which is of non-class type ‘MerTable_t’ {aka ‘int’}
799 | mers_m.clear();
| ^~~~~
**make[3]: *** [Makefile:1139: genome-complexity-fast.o] Error 1
make[3]: Leaving directory '/media/mypc/Bay2/Softwares/amos/src/Align'
make[2]: *** [Makefile:424: all-recursive] Error 1
make[2]: Leaving directory '/media/mypc/Bay2/Softwares/amos/src'
make[1]: *** [Makefile:413: all-recursive] Error 1
make[1]: Leaving directory '/media/mypc/Bay2/Softwares/amos'
make: *** [Makefile:354: all] Error 2**
the code is just too old for your modern compiler.
any possible solution for this ?? what if I create separate conda environment for old libraries and run it ? will that help ??
use more modern software, that's a really old one. For assembly, try spades or flye ?
actually, AMOS was used to make superblocks of assembly. i was using reference-based approach for plant genome