Bug#994714: ncbi-blast+: makeblastdb output dependent of endianness
Hi Aaron, Aaron M. Ucko, on 2021-09-19: > As of BLAST+ 2.10.0, makeblastdb defaults to making version 5 databases, > via the third-party LMDB library that uses an architecture-dependent > on-disk layout (differing between little-endian and big-endian systems; > I'm not sure offhand about 32-bit vs. 64-bit systems). TTBOMK, BLAST+ > is fine on either type of system as long as you don't try to mix and > match, so the bug is most likely in kleborate; please try directing > makeblastdb to produce traditional version 4 databases by invoking it > with the "-blastdb_version 4" flag. > > See also > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959587 > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960756 > > and especially > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=981293 This is amazing! I more or less followed these threads, and even actively participated to one, but only now I am putting all the pieces of the puzzle together. Thanks for your explanation, notably by insisting on lmdb outputing architecture dependent data, bit which really cleared things up to me! I see how to address the situation on kleborate side. > Thanks for checking! You're welcome! Thank you so much for your help on that issue! Have a nice day, :) -- Étienne Mollier Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da Sent from /dev/pts/2, please excuse my verbosity. signature.asc Description: PGP signature
Bug#994714: ncbi-blast+: makeblastdb output dependent of endianness
Étienne Mollier writes: > the pieces of the puzzle together. Thanks for your explanation, No problem; please feel free to ping me if there's anything else I can clarify. Also, sorry for the badly half-baked metadata update. > Have a nice day, :) Thanks, you too! -- Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org) http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?a...@monk.mit.edu
Bug#994714: ncbi-blast+: makeblastdb output dependent of endianness
Control: reassign 994714 kleborate/2.1.0-1 Étienne Mollier writes: > At this point, I strongly suspect that, either makeblastdb does > not output properly blastdb files on big endian systems, or > kleborate is not able to decode properly an eventual blastdb > database with big endian specific layout. Hi, Étienne. As of BLAST+ 2.10.0, makeblastdb defaults to making version 5 databases, via the third-party LMDB library that uses an architecture-dependent on-disk layout (differing between little-endian and big-endian systems; I'm not sure offhand about 32-bit vs. 64-bit systems). TTBOMK, BLAST+ is fine on either type of system as long as you don't try to mix and match, so the bug is most likely in kleborate; please try directing makeblastdb to produce traditional version 4 databases by invoking it with the "-blastdb_version 4" flag. See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959587 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960756 and especially https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=981293 Thanks for checking! -- Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org) http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?a...@monk.mit.edu
Bug#994714: ncbi-blast+: makeblastdb output dependent of endianness
Package: ncbi-blast+ Version: 2.11.0+ds-1 Severity: important Hi Aaron, I am currently investigating kleborate failure to migrate to testing. The failure is due to build time test suite failure on s390x [1]. [1]: https://buildd.debian.org/status/fetch.php?pkg=kleborate=s390x=2.1.0-1=1629929420=0 A recurrent relevant error message in the log is stating errors on .ndb files, such as: BLAST Database error: Invalid db file : /<>/.pybuild/cpython3_3.9/build/test/test_res_alleles/data/CARD_v3.0.8.fasta.ndb These files are produced at runtime by the execution of a makeblastdb command within kleborate build time tests scripts. Here is one of them: $ makeblastdb -dbtype nucl -in test/test_res_aac/data/CARD_v3.0.8.fasta The .fasta file used for producing these databases can be obtained on Salsa [2]. [2]: https://salsa.debian.org/med-team/kleborate/-/raw/master/test/test_res_aac/data/CARD_v3.0.8.fasta If I produce these ndb files on big endian, then I have the following consistent md5sum on s390x and ppc64: 08bd786ca54ebc4730e5dd42b57c454f CARD_v3.0.8.fasta.ndb On amd64 or arm64, the md5sum is: 8437e0675ad22935790a272be888ff56 CARD_v3.0.8.fasta.ndb At this point, I strongly suspect that, either makeblastdb does not output properly blastdb files on big endian systems, or kleborate is not able to decode properly an eventual blastdb database with big endian specific layout. To be honest, I don't know which program is at fault, but if it is a problem on makeblastdb side, then I thought you would want to be aware of it. Otherwise I'm happy with a bug reassigning (in which case, I suppose I would just skip those test, or ask for removal from s390x architecture). Have a nice day, :) -- Étienne Mollier Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da Sent from /dev/pts/9, please excuse my verbosity. signature.asc Description: PGP signature