[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ncbi-cxx-toolkit-public - a monorepo for NCBI tools?



Andrius Merkys <merkys@debian.org> 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/

-- 
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?amu@monk.mit.edu


Reply to: