-
Notifications
You must be signed in to change notification settings - Fork 132
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
69b884f
commit 2e6d03b
Showing
1 changed file
with
17 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,16 @@ | ||
#!/bin/bash | ||
|
||
#NOTE: These should work with Slurm HPC systems, | ||
# but these specific paramters have only been tested on | ||
# but these specific parameters have only been tested on | ||
# Stanford's Sherlock. Some parameters may need to be | ||
# adjusted for other HPCs, specifically --partition. | ||
|
||
#SBATCH --job-name mriqc | ||
#SBATCH --partition normal #TODO: update for your HPC | ||
|
||
#NOTE: The --array parameter allows multiple jobs to be launched at once, | ||
# and is generally recommended to efficiently run several hundred jobs | ||
# at once. | ||
|
||
# TODO: adjust the range for your dataset; 1-n%j where n is the number of | ||
# participants and j is the maximum number of concurrent jobs you'd like | ||
# to run. | ||
|
||
#SBATCH --array=1-216%50 | ||
#SBATCH --time=1:00:00 #NOTE: likely longer than generally needed | ||
#SBATCH --ntasks 1 | ||
|
@@ -26,31 +21,36 @@ | |
#SBATCH --error log/%x-%A-%a.err | ||
#SBATCH --mail-user=%[email protected] #TODO: update for your email domain | ||
#SBATCH --mail-type=ALL | ||
|
||
# ------------------------------------------ | ||
|
||
unset PYTHONPATH | ||
STUDY="/scratch/users/mphagen/mriqc-protocol" #TODO: replace with your path | ||
|
||
MRIQC_VERSION="24.0.0" #TODO: update if using a different version | ||
BIDS_DIR="ds002785" #TODO: replace with path to your dataset | ||
|
||
MRIQC_VERSION="24.0.2" #TODO: update if using a different version | ||
BIDS_DIR="${STUDY}/ds002785" # TODO: replace with path to your dataset | ||
OUTPUT_DIR="${BIDS_DIR}/derivatives/mriqc-${MRIQC_VERSION}" | ||
|
||
SINGULARITY_CMD="singularity run -e mriqc-${MRIQC_VERSION}.simg" | ||
APPTAINER_CMD="apptainer run -e mriqc_${MRIQC_VERSION}.sif" | ||
|
||
#NOTE: The first clause in this line selects a row in participants.tsv | ||
# Offset subject index by 1 because of header in participants.tsv | ||
subject_idx=$(( ${SLURM_ARRAY_TASK_ID} + 1 )) | ||
|
||
##NOTE: The first clause in this line selects a row in participants.tsv | ||
# using the system generated array index variable SLURM_ARRAY_TASK_ID. | ||
# This is piped to grep to isolate the subject id. The regex should | ||
# work for most subject naming conventions, but may need to be modified. | ||
|
||
subject=$( sed -n ${SLURM_ARRAY_TASK_ID}p ${BIDS_DIR}/participants.tsv \ | ||
# work for most subject naming conventions, but may need to be modified. | ||
subject=$( sed -n ${subject_idx}p ${BIDS_DIR}/participants.tsv \ | ||
| grep -oP "sub-[A-Za-z0-9_]*" ) | ||
|
||
echo Subject $subject | ||
|
||
cmd="${SINGULARITY_CMD} ${BIDS_DIR} ${OUTPUT_DIR} participant \ | ||
cmd="${APPTAINER_CMD} ${BIDS_DIR} ${OUTPUT_DIR} participant \ | ||
--participant-label $subject \ | ||
-w $PWD/work/ \ | ||
--omp-nthreads 8 --mem 10 \ | ||
--verbose-reports" | ||
--omp-nthreads 10 --nprocs 12 \ | ||
--verbose-reports" | ||
|
||
echo Running task ${SLURM_ARRAY_TASK_ID} | ||
echo Commandline: $cmd | ||
|