Difference between revisions of "FSL"

From UFRC
Jump to navigation Jump to search
Line 5: Line 5:
 
<!--CONFIGURATION: OPTIONAL (|1}} means it's ON)-->
 
<!--CONFIGURATION: OPTIONAL (|1}} means it's ON)-->
 
|{{#vardefine:conf|}}          <!--CONFIGURATION-->
 
|{{#vardefine:conf|}}          <!--CONFIGURATION-->
|{{#vardefine:exe|}}            <!--ADDITIONAL INFO-->
+
|{{#vardefine:exe|1}}            <!--ADDITIONAL INFO-->
 
|{{#vardefine:pbs|}}            <!--PBS SCRIPTS-->
 
|{{#vardefine:pbs|}}            <!--PBS SCRIPTS-->
 
|{{#vardefine:policy|}}        <!--POLICY-->
 
|{{#vardefine:policy|}}        <!--POLICY-->
Line 41: Line 41:
 
{{#if: {{#var: exe}}|==Additional Information==
 
{{#if: {{#var: exe}}|==Additional Information==
 
===Running bedpostx===
 
===Running bedpostx===
* Log into a dev node (dev1 or dev2) and
+
The bedpostx script has been modified to work with Moab/Torque for job submissions. In addition to the bedpostx options, the following Moab/Torque command line options have been added:
 +
 
 +
option default description
 +
-m abe see qsub. Note: slice job options are set to 'a' to avoid email overload
 +
-M see qsub. Note: you must provide an email address (REQUIRED)
 +
-N pbx job name prefix. Note: this is followed by _pre, _slice, and _post
 +
-ws 4:00:00 see qsub -l walltime. Applies to all slice processing jobs
 +
-wp 1:00:00 see qsub -l walltime. Applies to pre and post processing jobs
 +
-ms 1gb see qsub -l pmem. Applies to all slice processing jobs
 +
-mp 1gb see qsub -l pmem. Applies to all pre and post processing jobs
 +
-v turns on verbose option, i.e. displays additional information
 +
 
 +
Sequence for running bedpostx:
 +
 
 +
* log into DEV1 or DEV2
 +
* cd into the directory that contains your bedpostx data directory
 +
* run screen and turn the log on (ctl-a shift-h)
 +
* run module load fsl
 +
* run bedpostx, a typical command should look like: bedpostx datadir -M emailaddr
 +
* you may detach the screen at any time and then use screen -r to reattach at a later time
 +
* once the script has finished running you may turn the log off
 +
* use the log file to view the script output and also check your emails for any error notifications
 +
 
 +
Note: If you can make sure that the terminal is not disconnected at any time while running the bedpostx script then you don't need to use screen.
 +
 
 +
What you should know about running bedpostx:
 +
 
 +
* a directory will be created for the output data. It will be named using the original data folder name followed by .bedpostX
 +
* only one bedpostx script at a time can be run for a given data directory otherwise the output data will be unreliable.
 +
* if you run bedpostx and the output directory already exists, it will look to see if any slices need to be processed. It will then run jobs for all the unprocessed slices and post process all the slice data.
 +
* there are 3 stages in the execution of bedpostx:
 +
  1. pre-processing - use qstat -u youruserid to view job status
 +
  2. slice processing - a job is posted for each individual slice as a job array, use qstat -t -u youruserid for individual job status
 +
  3. post-processing - use qstat -u youruserid to view job status
 +
 
 +
Notes:
 +
* Because of issues with job arrays and qstat, the job array is not considered completed until all the individual jobs stop showing up in the status - about 5 minutes after completion.
 +
* You can not allow the terminal from which you run bedpostx to get disconnected while the script is running. If the terminal is disconnected, it will cause the job array completion detection to fail and the post processing will run before the slice processing is finished.
 +
* Be aware that the job numbers do not match the subdirectory numbers in the diff_slices directory. The jobs are always numbered 1-n and the directory numbers 0-(n-1) the first time you run bedpostx. If you were to rerun bedpostx again with some slices already processed in a prior run, then the only way to match job numbers with subdirectory numbers is via the job control file commands.txt.
 +
* using qstat -u youruserid for a job array is not reliable. It will sometime fail to display the job array entry even though one or more of the individual jobs is still running.
 
|}}
 
|}}
 
<!--PBS scripts-->
 
<!--PBS scripts-->

Revision as of 02:37, 25 December 2013

Description

fsl website  

FSL is a comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data.

Required Modules

Serial

  • fsl

System Variables

  • HPC_{{#uppercase:fsl}}_DIR

Additional Information

Running bedpostx

The bedpostx script has been modified to work with Moab/Torque for job submissions. In addition to the bedpostx options, the following Moab/Torque command line options have been added:

option default description -m abe see qsub. Note: slice job options are set to 'a' to avoid email overload -M see qsub. Note: you must provide an email address (REQUIRED) -N pbx job name prefix. Note: this is followed by _pre, _slice, and _post -ws 4:00:00 see qsub -l walltime. Applies to all slice processing jobs -wp 1:00:00 see qsub -l walltime. Applies to pre and post processing jobs -ms 1gb see qsub -l pmem. Applies to all slice processing jobs -mp 1gb see qsub -l pmem. Applies to all pre and post processing jobs -v turns on verbose option, i.e. displays additional information

Sequence for running bedpostx:

  • log into DEV1 or DEV2
  • cd into the directory that contains your bedpostx data directory
  • run screen and turn the log on (ctl-a shift-h)
  • run module load fsl
  • run bedpostx, a typical command should look like: bedpostx datadir -M emailaddr
  • you may detach the screen at any time and then use screen -r to reattach at a later time
  • once the script has finished running you may turn the log off
  • use the log file to view the script output and also check your emails for any error notifications

Note: If you can make sure that the terminal is not disconnected at any time while running the bedpostx script then you don't need to use screen.

What you should know about running bedpostx:

  • a directory will be created for the output data. It will be named using the original data folder name followed by .bedpostX
  • only one bedpostx script at a time can be run for a given data directory otherwise the output data will be unreliable.
  • if you run bedpostx and the output directory already exists, it will look to see if any slices need to be processed. It will then run jobs for all the unprocessed slices and post process all the slice data.
  • there are 3 stages in the execution of bedpostx:
  1. pre-processing - use qstat -u youruserid to view job status
  2. slice processing - a job is posted for each individual slice as a job array, use qstat -t -u youruserid for individual job status
  3. post-processing - use qstat -u youruserid to view job status

Notes:

  • Because of issues with job arrays and qstat, the job array is not considered completed until all the individual jobs stop showing up in the status - about 5 minutes after completion.
  • You can not allow the terminal from which you run bedpostx to get disconnected while the script is running. If the terminal is disconnected, it will cause the job array completion detection to fail and the post processing will run before the slice processing is finished.
  • Be aware that the job numbers do not match the subdirectory numbers in the diff_slices directory. The jobs are always numbered 1-n and the directory numbers 0-(n-1) the first time you run bedpostx. If you were to rerun bedpostx again with some slices already processed in a prior run, then the only way to match job numbers with subdirectory numbers is via the job control file commands.txt.
  • using qstat -u youruserid for a job array is not reliable. It will sometime fail to display the job array entry even though one or more of the individual jobs is still running.



Citation

If you publish research that uses fsl you have to cite it as follows:

  1. M. Jenkinson, C.F. Beckmann, T.E. Behrens, M.W. Woolrich, S.M. Smith. FSL. NeuroImage, 62:782-90, 2012
  2. M.W. Woolrich, S. Jbabdi, B. Patenaude, M. Chappell, S. Makni, T. Behrens, C. Beckmann, M. Jenkinson, S.M. Smith. Bayesian analysis of neuroimaging data in FSL. NeuroImage, 45:S173-86, 2009
  3. S.M. Smith, M. Jenkinson, M.W. Woolrich, C.F. Beckmann, T.E.J. Behrens, H. Johansen-Berg, P.R. Bannister, M. De Luca, I. Drobnjak, D.E. Flitney, R. Niazy, J. Saunders, J. Vickers, Y. Zhang, N. De Stefano, J.M. Brady, and P.M. Matthews. Advances in functional and structural MR image analysis and implementation as FSL. NeuroImage, 23(S1):208-19, 2004