BBTools modules users... in particular BBMAP_BBDUK...
# modules
j
BBTools modules users... in particular BBMAP_BBDUK - have you seen this before? https://github.com/nf-core/taxprofiler/issues/632
shakefist 1
m
BBMAP shakefist
shakefist 1
j
@Daniel Lundin any suggestion?
e
@Eleni Aplakidou?
d
In bbmap/bbnorm, I use
floor()
to make sure I get an integer that is lower than the maximum after multiplying with a decimal value:
Copy code
memory = "-Xmx${Math.round(Math.max(1, Math.floor(task.memory.toGiga() * 0.95)))}g"
(This is where
ext.args.mem_multiplier
would fit in, instead of the hardcoded 0.95.)
👀 1
I'm a little puzzled over the
Math.round()
-- don't remember what that's for.
m
BBMAP shakefist
But why? If we have an issue with setting the Java memory corretly the module, it is hardly BBMAPs fault - other than maybe that it is written in Java. tux sorry☕ But yes, I remember we had similar issues with the umicollapse module, so it could potentially be handled like there. The
bbnorm
solution also looks good.
👀 1
j
It is the modules/java fault, but I have had other issues with BBtool which makes me also shakefist
m
BBTOOLS shakefist
m
m
should we check all modules with such memory requirement?
j
OK that's just an easy/obvious/riught in your face fix facepalm thank you @Mahesh Binzer-Panchal!
m
seems several of the bbmap modules need it, but we should also choose a fixed way for all the modules. There are at least 3 different memory setting implementations
j
I'll at least merge this into taxprofiler and get the reporter to confirm that it satisfies them
m
This is what bbmap/align does btw.
👍 2
j
Any chance someone can review so I can ask the reporter to test?
👀 2
✅ 2
m
Does that warrant an advisory or is the fact, that it didn’t cause any harm in the past 3 years an indication that very few people specify the task memory in MB? The module is used in several pipelines, so that would mean lots of affected releases…
j
I actually wondered that too, but like you said, specifying in MB seems very rare
And I don't think it's a silent fail which is maybe where advisories is more important
m
Fair enough. I am certainly not keen on gathering all releases with that module 🙈
😅 1