Re: ncbi-cxx-toolkit-public - a monorepo for NCBI tools?
"Aaron M. Ucko" <[email protected]> Thu, 25 Sep 2025 10:43:28 -0400
| Newsgroups | gmane.linux.debian.devel.medical |
|---|---|
| Message-ID | <[email protected]> |
Andrius Merkys <[email protected]> writes: > seems like a monorepo for a bunch of NCBI tools. Can anyone confirm > that? To clarify, releases of BLAST+ and variants like IgBLAST are generally based on heavily trimmed snapshots of release branches like [1]; however, each product releases on its own schedule, so their releases do not in general line up with each other or correspond to any of the overall C++ Toolkit's monthly releases. The download link at the bottom of IgBLAST's online documentation [2] still points to traditional release tarballs; IgBLAST just hasn't had a release in almost two years. I suppose we could consider tackling the full tree anyway -- we historically glossed over the analogous distinction between releases of NCBI's C Toolkit and of legacy BLAST -- but there are some additional complications. In particular: - The tree is *huge* -- the (gzipped) tarball alone is over 700 MB, unpacking to roughly 3 GB, and even when using shared libraries, a full amd64 build with debug symbols takes roughly an hour (or two with a test-suite run thrown in) and consumes an additional ~14 GB, and the 200+ resulting shared libraries take up ~150 MB in total even after stripping. (That said, partial builds are certainly an option, and there is a plausible middle ground between splitting the shared libraries up into individual binary packages and sticking them all together into one big one.) - There are no ABI stability guarantees, so executables would need fairly tight dependencies on shared libraries. [1] https://github.com/ncbi/ncbi-cxx-toolkit-public/tree/stable/29.0 [2] https://ncbi.github.io/igblast/