Petprep: Pre-processing tools for PET imaging datasets.
Allocate an interactive session and run the program.
Sample session (user input in bold):
[user@biowulf]$ sinteractive salloc.exe: Pending job allocation 46116226 salloc.exe: job 46116226 queued and waiting for resources salloc.exe: job 46116226 has been allocated resources salloc.exe: Granted job allocation 46116226 salloc.exe: Waiting for resource configuration salloc.exe: Nodes cn3144 are ready for job [user@cn3144 ~]$ module load petprep [user@cn3144 ~]$ petprep -h [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. petprep.sh). For example (using test data below):
#!/bin/bash
#SBATCH --job-name=petprep
#SBATCH --gres=lscratch:20
#SBATCH --exclusive
#SBATCH --mem=32g
#SBATCH --time=8:00:00
module load petprep/0.0.8
petprep /lscratch/${SLURM_JOB_ID}/PET_BIDS_TEST_DATA \
/lscratch/${SLURM_JOB_ID}/petprep.out.PET_BIDS_TEST_DATA \
participant \
--participant-label sub-01 \
-w /lscratch/${SLURM_JOB_ID} \
--output-spaces MNI152NLin2009cAsym T1w
Submit this job using the Slurm sbatch command.
sbatch petprep.sh
Create a swarmfile (e.g. petprep.swarm). For example:
petprep /lscratch/${SLURM_JOB_ID}/PET_BIDS_TEST_DATA1 \
/lscratch/${SLURM_JOB_ID}/petprep.out.PET_BIDS_TEST_DATA1 \
participant \
--participant-label sub-01 \
-w /lscratch/${SLURM_JOB_ID} \
--output-spaces MNI152NLin2009cAsym T1w
petprep /lscratch/${SLURM_JOB_ID}/PET_BIDS_TEST_DATA2 \
/lscratch/${SLURM_JOB_ID}/petprep.out.PET_BIDS_TEST_DATA2 \
participant \
--participant-label sub-01 \
-w /lscratch/${SLURM_JOB_ID} \
--output-spaces MNI152NLin2009cAsym T1w
petprep /lscratch/${SLURM_JOB_ID}/PET_BIDS_TEST_DATA3 \
/lscratch/${SLURM_JOB_ID}/petprep.out.PET_BIDS_TEST_DATA3 \
participant \
--participant-label sub-01 \
-w /lscratch/${SLURM_JOB_ID} \
--output-spaces MNI152NLin2009cAsym T1w
Submit this job using the swarm command.
swarm -f petprep.swarm [--gres=lscratch:#] [-g #] -t auto --module petprepwhere
| -gres=lscratch:# | Number of Gigabytes of local disk space allocated per process (1 line in the swarm command file) |
| -g # | Number of Gigabytes of memory required for each process (1 line in the swarm command file) |
| -t # | Number of threads/CPUs required for each process (1 line in the swarm command file). We set this to auto to allocate all CPUs in each node.
|
| --module petprep | Loads the petprep module for each subjob in the swarm |