You can certainly run parts of bedpostx manually, you just need to be sure
you understand how the various parameters are passed between the scripts and
then replicate that.
e.g.
bedpostx_preproc.sh $subjdir
bedpostx_single_slice.sh $subjdir $nfibres $fudge $burnin $njumps
$sampleevery $slice"
bedpostx_postproc.sh $subjdir
The first and third scripts are simple, they just take the subject directory
as the commandline arguement, the middle one requires more settings, but
these defaults are set in bedpostx, and then you need to give it the slice
number.
Peace,
Matt.
-----Original Message-----
From: FSL - FMRIB's Software Library [mailto:[log in to unmask]] On Behalf
Of Michael Scheel
Sent: Wednesday, July 01, 2009 8:05 PM
To: [log in to unmask]
Subject: [FSL] Fwd: bedpostx on a not sge cluster - using
bedpostx_single_slice.sh instead
Dear FSL-List,
I have the opportunity to use a Cluster for my BedpostX Analysis to
speed up the processing time.
With a little (actually quite a big) help from the admin I was
successful setting up fsl on the cluster.
One question though from the admin that I want to forward here:
> In the output directory, diffusion.bedpostX, there is a file called
> commands.txt containing:
> /global/home/phillips/software/fsl/fsl414/bin/
> bedpostx_single_slice.sh /global/home/phillips/software/fsl/run/
> diffusion 2 1 1000 125 0 25 0
> /global/home/phillips/software/fsl/fsl414/bin/
> bedpostx_single_slice.sh /global/home/phillips/software/fsl/run/
> diffusion 2 1 1000 125 0 25 1
> ...
> continuing from 0 to 56.
> Are all these commands independent? Could you have set up this job
> so that you call bedpostx_single_slice.sh yourself instead of
> getting bedpostX to do it for you?
> In that case, the whole thing could have been done as 56 separate
> jobs - that would have been finished in an hour and a half.
I know that the suggested sge_cluster environment handles splitting up
the jobs for every single slice by just running the bedpostx command.
I suppose that this is handled at the beginning of the bedpostx program
if [ "x$SGE_ROOT" = "x" ] ; then
if [ -f /usr/local/share/sge/default/common/settings.sh ] ; then
. /usr/local/share/sge/default/common/settings.sh
elif [ -f /usr/local/sge/default/common/settings.sh ] ; then
. /usr/local/sge/default/common/settings.sh
fi
fi
In our case we don't use sge to run the cluster. Would it then be
reasonable to use <fslsplit data.nii.gz diff_slices/data_slice_ -z>
and then run bedpostx_single_slice.sh ?
Any word of caution before we try that?
Thanks, Michael
|