Closed silver1eaf closed 6 years ago
Hi silver1eaf, Thank you for spotting this - could you do a run in gdb to identify the line number?
Ok, I've run in gdb and found this one:
meta::getMappingLocations (taxonInfo=..., f=..., readLines=...) at src/meta/fEM.h:260
260 double mappingQuality = std::stod(line_fields.at(13));
Thank you! Could you do a pull from GitHub, recompile (make clean; make metamaps), and re-run? The output should now include the line that caused the problem - could you post this here?
#6 0x000000000048bac7 in meta::getMappingLocations (taxonInfo=..., f=..., readLines=...) at src/meta/fEM.h:269
269 throw;
#7 0x000000000048bbad in operator() (readLines=..., __closure=0xdd85d0) at src/meta/fEM.h:475
475 std::vector<oneMappingLocation> mappingLocations = getMappingLocations(taxonInfo, f, readLines);
#8 std::_Function_handler<void(const std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&), meta::doEM(std::__cxx11::string, std::__cxx11::string, size_t)::<lambda(const std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)> >::_M_invoke(const std::_Any_data &, const std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > &) (
__functor=..., __args#0=...) at /mnt/software/g/gcc/6.4.0/libc_2.5/x86_64-libc_2.5-linux-gnu/include/c++/6.4.0/functional:1731
1731 (*_Base::_M_get_pointer(__functor))(
#9 0x0000000000474688 in operator() (__args#0=..., this=0x7fffffffd570) at /mnt/software/g/gcc/6.4.0/libc_2.5/x86_64-libc_2.5-linux-gnu/include/c++/6.4.0/functional:2127
2127 return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
#10 meta::callBackForAllReads(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::function<void (std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)>&) (mappedFile=..., callbackFunction=...) at src/meta/fEM.h:1077
1077 callbackFunction(runningReadLines);
#11 0x00000000004917ef in meta::doEM (DBdir=..., mappedFile=..., minimumReadsPerBestContig=minimumReadsPerBestContig@entry=10000) at src/meta/fEM.h:490
490 callBackForAllReads(mappedFile, processOneRead);
#12 0x00000000004721a8 in main (argc=5, argv=<optimized out>) at src/map/mash_map.cpp:296
296 meta::doEM(parameters.DB, parameters.mappingsForClassification, parameters.minimumReadsForU);
Hi silver1eaf, it should also print an error message to STDERR - beginning with the string "Mapping quality is out of range for a double" - could you identify and post the details (the line of the output containing the beginning of the error message and the next line)?
Here you go. The "Input line" is the first line of the input file test10000.classification
Mapping quality is out of range for a double
Input line: m54026_180612_063509/4850039/ccs 3174 0 3173 + C14893|kraken:taxid|1299044|NZ_CP005995.1 4783867 1133786
1136959 84.1644 15 363 85.3546 3.01251e-313
Thank you! I think I found the issue - if you do a 'pull' from GitHub and a 'make clean; make metamaps', the problem should be fixed.
The process ran cleanly this time. Thanks a lot!
Great, thank you for letting me know!
Hi Alexander, I am trying to run metamaps with a custom database and everything runs smoothly until I get to the classification step. I followed your recommendation and I did a 'make clean' 'make metamaps' but the error does not go away. The command I am using is: $ metamaps classify --mappings classification_results_sample0 --DB databases/strains/
And I get:
DB = databases/strains/ Mappings = classification_results_sample0 Min. reads for 'U' = 10000 Threads = 1
metamaps: src/meta/taxonomy.h:229: meta::taxonomy::taxonomy(std::__cxx11::string): Assertion `T.count(id) == 0' failed. Aborted (core dumped)
Could you please help me to find out what I am doing wrong?
Thanks
Hi Alexander, I got the following error in the second step of MetaMaps. The command I ran was
metamaps classify --mappings test10000.classification --DB databases/miniSeq+H
Thanks for any advice on this!