I’m currently trying to analyse a DTI dataset with tractoflow. It’s a dataset containing 123 participants, structured as instructed on the documentation page (although I first made the mistake that I thought S1 was to reflect session 1 rather than participant 1). When I run the analyses, I get the error
" … NOTE: Process ‘Bet_Prelim_DWI (participant_folder)’ terminated with an error exit status (127) – execution retired (1)"
I think this indicates that the program can’t find the Bet_Prelim_DWI function… but I’m not sure how to correct this! Any help is greatly appreciated.
Dear Arnaud (@abore),
I noticed your name in the opening post about tractoflow. I hope you can be of assistance regarding the question above !
Kind regards, Jochem
Sorry for the delay due to the holidays.
I have few questions to help me to find the issue:
Can you send me your command line ?
Where is your data ? Hard drive, mounted disk, server ?
Thanks for getting back to me! I retried to run the analyses again, and behold… it works! No clue what changed, but i’m happy it runs.
Unfortuantely, it now fails at de Eddy correction step ( "NOTE: ‘Eddy ([ppn folder name])’ terminated with an error exit status 137 – execution is retried (1) ". It also shows that 4 out of 6 participants (so far) failed.
I found online, this might be a memory issue?
I’m running the analyses on a standalone laptop (HP probook 450 G3, 8GB RAM, i7-6500 2.50GZ processor). Data is stored locally on the laptop (i still have about 90gb free space). The command is poster below.
Is there a way to allocate more/less memory for the proces? Or another solution alltogether?
I don’t think it is relevant, but i don’t have reverse coded b0-images, so TopUp can’t be run. I know this is related to Eddy correction, but the documentation says this step should be skipped automatically.
Thanks in advance!
nextflow run tracktoflow-2.0.1/main.nf --root Documents/DTI_data --dti_shells “0 1000” --fodf_shells “0 1000 2000” -with-singularity tracktoflow_2.0.0_8b39aee_2019-04-26.img
I am pretty sure that is a RAM issue. How many directions do you have in your data ? Eddy is pretty heavy to run in term of RAM.
If you want to disable this step, you can use
--run_eddy false option in your command.
Based on the command that you send me, the new command without eddy looks like:
nextflow run tracktoflow-2.0.1/main.nf --root Documents/DTI_data --dti_shells “0 1000” --fodf_shells “0 1000 2000” --run_eddy false -with-singularity tracktoflow_2.0.0_8b39aee_2019-04-26.img
The thing is that I have previously run eddy corrections on this laptop. So it should be able to run the analysis. I noticed it runs the ‘n4’ step on the T1 image in parallel, thus consuming RAM for that as well. Is there a way to postpone this step so all resources can go to the eddycorrection step?
I have 32 directions in the dwi data!
In this case, you can limit the number of thread that TractoFlow use. You can set
--processes 4 in your command line. At the maximum, the pipeline will take 4 cpus and your RAM taken will be lower.
However, I highly recommend to have a computer with 16G of RAM to run TractoFlow.
Unfortunately, the --processes 4 doesn’t change anything and i still get the same error message. I will try updating the RAM to 16gb by temporarily using the RAM from an identical laptop.
Just a quick update, all seems good! I’ve currently run eddy corrections on 36 out of the 123 subjects. Thanks for the help!
Hi Jochem (@Jochem_Jansen),
Can you tag this thread as solved? If you have another thread that has been solved please do the same. It helps us track the different issues.
Thank you in advance.