ds003416-mriqc/code/results.merger

66 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
# fail whenever something is fishy, use -x to get verbose logfiles
set -e -x
# finalize FAIRly Big Workflow dataset
dssource="$1"
if [[ ! -z ${dssource} ]]; then
datalad clone "${dssource}" ds
cd ds
else
datalad update
fi
git merge -m "Merge results" $(git branch -al | grep 'job_' | tr -d ' ')
# clean git annex branch
git annex fsck -f mriqc_out-storage --fast
# declare local data clone as dead
git annex dead here
# datalad push merged results
if [[ ! -z ${dssource} ]]; then
datalad push --data nothing
else
datalad push --data nothing --to mriqc_out
fi
# get mri input for MRIQC group stats
datalad get -n sourcedata/raw
datalad get $(find sourcedata/raw -maxdepth 3 -name anat) $(find sourcedata/raw -maxdepth 3 -name func) $(find sourcedata/raw -maxdepth 3 -name dwi)
export DUCT_OUTPUT_PREFIX="logs/duct/mriqc-group-stats_{datetime_filesafe}-{pid}_"
# run mriqc group stats
datalad containers-run \
-m "Compute MRIQC group stats" \
-n bids-mriqc \
-i .\
mriqc sourcedata/raw . group \
--no-datalad-get \
--notrack \
--verbose \
--work-dir /tmp
if [[ ! -z ${dssource} ]]; then
datalad push
else
datalad push --to mriqc_out
fi
datalad drop --what datasets --reckless kill -r -d sourcedata/raw
# run mriqc quality classifier
datalad containers-run \
-m "run MRIQC classifier" \
-n bids-mriqc-clf \
-i group_T1w.tsv \
mriqc_clf --load-classifier -X group_T1w.tsv
if [[ ! -z ${dssource} ]]; then
datalad push
else
datalad push --to mriqc_out
fi