-
Notifications
You must be signed in to change notification settings - Fork 18
Description
Describe the bug
The bug happened when running nf-tractoflow after the "T1_REGISTRATION:REGISTRATION_ANATTODWI" module. We get a cryptic error that there seems to be a YAML-related issue, but the error does seem to happen directly in the module, but rather somewhere else in the Groovy (I don't know exactly where, but I don't think it matters anyway).
Solution I found:
# This is the current way that the ants version is extracted
ants: \$(antsRegistration --version | grep "Version" | sed -E 's/.*v([0-9.a-zA-Z-]+).*/\\1/')
# Which outputs the following line (which violates YAML's syntax):
# ants: ANTs Version: 2.5.4-g8d891c2
# This is the new way that I can extract the version without causing YAML issues:
ants: \$(antsRegistration --version | grep "Version" | sed -E 's/.*: v?([0-9.a-zA-Z-]+).*/\1/')
# Which outputs the following line (which is OK!):
# ants: 2.5.4-g8d891c2
Looking at the way we are versioning the modules within each nf-neuro module, I see that the dependencies listed in the versions.yml are never quoted "". Should this not be the case to avoid edge cases overall?
Even thought I found a solution to the bug I reported above, I am posting this as an issue so that we might have a consensus on what I should do:
- Just fix the ants version extraction for "T1_REGISTRATION:REGISTRATION_ANATTODWI" which solves my issue and it's good enough?
- Just fix the ants version extraction everywhere?
- Fix the ants version extraction AND make every version within quotes?
Screenshots
Here is the cryptic error that we get if there's a problem with the version.yml, even thought the process seems to successfully terminate.
