Jim Downie
04/01/2026, 9:53 AMstats.sh from the bbtools package. Because you can't modify the arguments to it, this has a hard-coded memory limit of 120Mb, which sometimes gives OOM errors for large genome assemblies. The BUSCO folks don't seem to be very responsive, and there's no way to set the bbtools java process to receive a memory setting via e.g. JAVA_OPTS.
However, BUSCO does have a config file (TOML format) and it's possible to override the path to the stats.sh script. So we could write a wrapper that calls stats.sh with an increased amount of memory, and set this as the call in a config file. But the config file is also an optional input into the process, so we would somehow have to append this to the config if supplied.
Is this a ridiculous idea, should we just wait for a bugfix to BUSCO? Is there another option that I might be missing?James Fellows Yates
04/01/2026, 10:00 AMJim Downie
04/01/2026, 10:01 AMMatthias De Smet
04/01/2026, 10:02 AMJim Downie
04/01/2026, 10:03 AMMatthias De Smet
04/01/2026, 10:05 AMbbtools_args
https://gitlab.com/ezlab/busco/-/blob/master/src/busco/BuscoConfig.py#L310Jim Downie
04/01/2026, 10:07 AMMatthias De Smet
04/01/2026, 10:08 AMMatthias De Smet
04/01/2026, 10:09 AMBBTOOLS_ARGS = {
"memory": os.environ.get('BBTOOLS_MEM', '120Mb')
"contig_break": 10,
"scaffold_composition": False,
"skip_bbtools": False,
}Jim Downie
04/01/2026, 10:15 AMif os.environ.get('BUSCO_BBTOOLS_MEM'):
bbtools_job.add_parameter(f"--xmx {os.environ.get('BUSCO_BBTOOLS_MEM')}")Matthias De Smet
04/01/2026, 10:15 AMMatthias De Smet
04/01/2026, 10:16 AMMatthias De Smet
04/01/2026, 10:16 AMJim Downie
04/01/2026, 10:16 AMMatthias De Smet
04/01/2026, 10:16 AMMatthias De Smet
04/01/2026, 10:17 AMJim Downie
04/01/2026, 10:17 AMMatthias De Smet
04/01/2026, 10:17 AMMatthias De Smet
04/01/2026, 10:18 AMMatthias De Smet
04/01/2026, 10:53 AMJim Downie
04/01/2026, 10:54 AMJim Downie
04/01/2026, 12:01 PMMatthias De Smet
04/01/2026, 12:02 PMJim Downie
04/01/2026, 12:07 PM