diff --git a/proj-nipoppy/.recreate_hierarchy b/proj-nipoppy/.recreate_hierarchy new file mode 100755 index 000000000..fe03a2b89 --- /dev/null +++ b/proj-nipoppy/.recreate_hierarchy @@ -0,0 +1,78 @@ +#!/bin/bash + +set -eu + +git rm --ignore-unmatch -fr [a-zA-Z]* +mkdir -p {code,derivatives{,/fmriprep-{20.2.7,23.1.3},/mriqc-23.1.0,/neurobagel-0.0.1},sourcedata{,/tabular{,/demographics,/assesments},/raw/sub-001/ses-A,/dicoms}} + +cat >| dataset_description.json <| CHANGES << EOF +0.0.2 2024-10-28 + + - Updated to reflect addressed in bids-validator issues and + to merge "master" branch of the bids-examples project. + Added GeneratedBy and License. + +0.0.1 2024-06-20 + + - Started to work on this support of the DatasetType project + +EOF + +cat >| README.md << EOF +This is an example of an entire project/study level BIDS dataset. +Built taking a hierarchy depicted on +https://github.com/neurodatascience/nipoppy?tab=readme-ov-file#nipoppy +and turning it into a valid BIDS layout. + +Some files (e.g. bagel.csv) are specific to nipoppy etc projects, but since +located under folders where bids layout is not enforced -- should be just fine. + +Some outstanding issues with validator(s) which were ran into while trying to +get "proper" validation working using deno bids-validator (mark when solved) + +- [x] https://github.com/bids-standard/bids-validator/issues/2007 + +EOF + +cat >| derivatives/bagel.csv << EOF +bids_id,participant_id,session,has_mri_data,pipeline_name,pipeline_version,pipeline_starttime,pipeline_complete +sub-MNI001,MNI001,1,TRUE,freesurfer,6.0.1,2022-05-24 13:43,SUCCESS +sub-MNI001,MNI001,2,TRUE,freesurfer,6.0.1,2022-05-24 13:46,SUCCESS +sub-MNI001,MNI001,3,TRUE,freesurfer,6.0.1,UNAVAILABLE,INCOMPLETE +EOF + +cat >| sourcedata/tabular/bagel.csv << EOF +bids_id,participant_id,session,assessment_name,assessment_score +sub-MNI001,MNI001,1,group,Patient +sub-MNI001,MNI001,2,group,Patient +EOF + +touch sourcedata/tabular/manifest.csv +echo '{}' > code/global_config.json + +# populate empty folders with some placeholder .dotfile +find * -type d | while read d; do + if ! /bin/ls -a "$d" | grep -q '[a-z]'; then + touch $d/.fill + fi +done +git add * diff --git a/proj-nipoppy/CHANGES b/proj-nipoppy/CHANGES new file mode 100644 index 000000000..fa8cc5a3c --- /dev/null +++ b/proj-nipoppy/CHANGES @@ -0,0 +1,10 @@ +0.0.2 2024-10-28 + + - Updated to reflect addressed in bids-validator issues and + to merge "master" branch of the bids-examples project. + Added GeneratedBy and License. + +0.0.1 2024-06-20 + + - Started to work on this support of the DatasetType project + diff --git a/proj-nipoppy/README.md b/proj-nipoppy/README.md new file mode 100644 index 000000000..79d7af8da --- /dev/null +++ b/proj-nipoppy/README.md @@ -0,0 +1,13 @@ +This is an example of an entire project/study level BIDS dataset. +Built taking a hierarchy depicted on +https://github.com/neurodatascience/nipoppy?tab=readme-ov-file#nipoppy +and turning it into a valid BIDS layout. + +Some files (e.g. bagel.csv) are specific to nipoppy etc projects, but since +located under folders where bids layout is not enforced -- should be just fine. + +Some outstanding issues with validator(s) which were ran into while trying to +get "proper" validation working using deno bids-validator (mark when solved) + +- [x] https://github.com/bids-standard/bids-validator/issues/2007 + diff --git a/proj-nipoppy/code/global_config.json b/proj-nipoppy/code/global_config.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/proj-nipoppy/code/global_config.json @@ -0,0 +1 @@ +{} diff --git a/proj-nipoppy/dataset_description.json b/proj-nipoppy/dataset_description.json new file mode 100644 index 000000000..a66534a48 --- /dev/null +++ b/proj-nipoppy/dataset_description.json @@ -0,0 +1,16 @@ +{ + "Name": "Example how nipoppy dataset could be presented as project-type BIDS dataset", + "Description": "Demonstration for the https://github.com/bids-standard/bids-specification/pull/1861", + "BIDSVersion": "1.10.0", + "DatasetType": "project", + "Authors": [ + "Yaroslav O. Halchenko", "Samuel Nastase" + ], + "GeneratedBy": [ + { + "Name": "Script to produce this dataset", + "CodeURL": "file://./recreate-hierarchy" + } + ], + "License": "PDDL" +} diff --git a/proj-nipoppy/derivatives/bagel.csv b/proj-nipoppy/derivatives/bagel.csv new file mode 100644 index 000000000..4f4e3dfca --- /dev/null +++ b/proj-nipoppy/derivatives/bagel.csv @@ -0,0 +1,4 @@ +bids_id,participant_id,session,has_mri_data,pipeline_name,pipeline_version,pipeline_starttime,pipeline_complete +sub-MNI001,MNI001,1,TRUE,freesurfer,6.0.1,2022-05-24 13:43,SUCCESS +sub-MNI001,MNI001,2,TRUE,freesurfer,6.0.1,2022-05-24 13:46,SUCCESS +sub-MNI001,MNI001,3,TRUE,freesurfer,6.0.1,UNAVAILABLE,INCOMPLETE diff --git a/proj-nipoppy/derivatives/fmriprep-20.2.7/.fill b/proj-nipoppy/derivatives/fmriprep-20.2.7/.fill new file mode 100644 index 000000000..e69de29bb diff --git a/proj-nipoppy/derivatives/fmriprep-23.1.3/.fill b/proj-nipoppy/derivatives/fmriprep-23.1.3/.fill new file mode 100644 index 000000000..e69de29bb diff --git a/proj-nipoppy/derivatives/mriqc-23.1.0/.fill b/proj-nipoppy/derivatives/mriqc-23.1.0/.fill new file mode 100644 index 000000000..e69de29bb diff --git a/proj-nipoppy/derivatives/neurobagel-0.0.1/.fill b/proj-nipoppy/derivatives/neurobagel-0.0.1/.fill new file mode 100644 index 000000000..e69de29bb diff --git a/proj-nipoppy/sourcedata/dicoms/.fill b/proj-nipoppy/sourcedata/dicoms/.fill new file mode 100644 index 000000000..e69de29bb diff --git a/proj-nipoppy/sourcedata/raw/sub-001/ses-A/.fill b/proj-nipoppy/sourcedata/raw/sub-001/ses-A/.fill new file mode 100644 index 000000000..e69de29bb diff --git a/proj-nipoppy/sourcedata/tabular/assesments/.fill b/proj-nipoppy/sourcedata/tabular/assesments/.fill new file mode 100644 index 000000000..e69de29bb diff --git a/proj-nipoppy/sourcedata/tabular/bagel.csv b/proj-nipoppy/sourcedata/tabular/bagel.csv new file mode 100644 index 000000000..e9c85fc12 --- /dev/null +++ b/proj-nipoppy/sourcedata/tabular/bagel.csv @@ -0,0 +1,3 @@ +bids_id,participant_id,session,assessment_name,assessment_score +sub-MNI001,MNI001,1,group,Patient +sub-MNI001,MNI001,2,group,Patient diff --git a/proj-nipoppy/sourcedata/tabular/demographics/.fill b/proj-nipoppy/sourcedata/tabular/demographics/.fill new file mode 100644 index 000000000..e69de29bb diff --git a/proj-nipoppy/sourcedata/tabular/manifest.csv b/proj-nipoppy/sourcedata/tabular/manifest.csv new file mode 100644 index 000000000..e69de29bb