Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add pheno004 example dataset #483

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 16 additions & 12 deletions .github/workflows/validate_datasets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

jobs:
build:
strategy:
Expand Down Expand Up @@ -47,23 +51,20 @@ jobs:
if: matrix.bids-validator == 'stable'
run: |
deno install -Agf -n bids-validator jsr:@bids/validator
shell: bash

- name: Install BIDS validator (main)
if: matrix.bids-validator == 'main'
run: |
# If unmerged validator PRs are needed for testing, you can use
# https://github.com/<FORK>/bids-validator/raw/<BRANCH>/bids-validator/src/bids-validator.ts
deno install -Agf https://github.com/bids-standard/bids-validator/raw/deno-build/bids-validator.js
shell: bash

- name: Install BIDS validator (dev)
if: matrix.bids-validator == 'dev'
run: |
git clone -b dev https://github.com/bids-standard/bids-validator/ ../bids-validator
cd ../bids-validator
deno compile -A -o $HOME/.deno/bin/bids-validator src/bids-validator.ts
shell: bash

- name: Install BIDS validator (legacy)
if: "matrix.bids-validator == 'legacy'"
Expand All @@ -78,7 +79,6 @@ jobs:
echo "node\n----"; node --version
echo "npm\n----"; npm --version
echo "bids-validator"; bids-validator --version
shell: bash

- name: Check that no large files are present
if: "matrix.bids-validator == 'stable'"
Expand All @@ -93,28 +93,32 @@ jobs:
echo "$found"
exit 1;
fi
shell: bash

- name: Skip legacy validation for post-legacy datasets
run: for DS in mrs_* dwi_deriv; do touch $DS/.SKIP_VALIDATION; done
run: for DS in mrs_* dwi_deriv pheno004; do touch $DS/.SKIP_VALIDATION; done
if: matrix.bids-validator == 'legacy'
shell: bash

- name: Skip stable validation for datasets with unreleased features
run: for DS in dwi_deriv; do touch $DS/.SKIP_VALIDATION; done
- name: Skip stable validation for datasets with unreleased validator features
# Replace ${EMPTY} with dataset patterns, when this is needed
# Reset to "for DS in ${EMPTY}; ..." after a validator release
run: for DS in ${EMPTY}; do touch $DS/.SKIP_VALIDATION; done
if: matrix.bids-validator == 'stable'

- name: Skip main validation for datasets with unreleased spec features
# Replace ${EMPTY} with dataset patterns, when this is needed
# Reset to "for DS in ${EMPTY}; ..." after a spec release
run: for DS in dwi_deriv pheno004; do touch $DS/.SKIP_VALIDATION; done
if: matrix.bids-validator != 'dev'
shell: bash

- name: Set BIDS_SCHEMA variable for dev version
if: matrix.bids-validator == 'dev'
# When proposing new features, schema changes may be necessary.
# Update this URL to the schema.json from PRs to the spec, when needed.
# If this variable is unset, dev will generally track the latest development
# release of https://jsr.io/@bids/schema
run: echo BIDS_SCHEMA=https://bids-specification.readthedocs.io/en/latest/schema.json >> $GITHUB_ENV
run: echo BIDS_SCHEMA=https://bids-specification--2044.org.readthedocs.build/en/2044/schema.json >> $GITHUB_ENV

- name: Validate all BIDS datasets using bids-validator
run: |
cat ./run_tests.sh
./run_tests.sh
shell: bash
23 changes: 23 additions & 0 deletions pheno004/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# BEP036 example dataset 04: One imaging-only, one phenotypic-only, and one with both imaging and phenotypic data

This dataset contains imaging data and phenotypic data from one subject, only imaging data for another subject, and only phenotypic data for a third subject. Phenotype and imaging data were collected at the same session. The file tree is as follows:

```ascii
📦pheno004
┣ 📂phenotype
┃ ┣ 📜ace.json
┃ ┣ 📜ace.tsv
┃ ┣ 📜demographics.json
┃ ┗ 📜demographics.tsv
┣ 📂sub-01
┃ ┗ 📂anat
┃ ┃ ┣ 📜sub-01_T1w.json
┃ ┃ ┗ 📜sub-01_T1w.nii.gz
┣ 📂sub-02
┃ ┗ 📂anat
┃ ┃ ┣ 📜sub-02_T1w.json
┃ ┃ ┗ 📜sub-02_T1w.nii.gz
┣ 📜participants.json
┣ 📜participants.tsv
┗ 📜README.md
```
12 changes: 12 additions & 0 deletions pheno004/dataset_description.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"Name": "Mixed Phenotype+Participants",
"BIDSVersion": "1.11.0",
"License": "CC0",
"Authors": [
"Eric Earl",
"Arshitha Basavaraj",
"Samuel Guay",
"Sebastian Urchs"
],
"Acknowledgements": "Acknowledgements"
}
16 changes: 16 additions & 0 deletions pheno004/participants.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"participant_id": {
"Description": "OpenNeuro ID of the subject."
},
"sex": {
"Description": "Sex assigned at birth.",
"Levels": {
"m": "Male",
"f": "Female"
}
},
"age": {
"Description": "Age of the participant.",
"Units": "years"
}
}
4 changes: 4 additions & 0 deletions pheno004/participants.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
participant_id sex age
sub-01 m 22
sub-02 f 63
sub-03 f 47
92 changes: 92 additions & 0 deletions pheno004/phenotype/ace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"participant_id": {
"Description": "OpenNeuro ID of the subject."
},
"session_id": {
"Description": "ID assigned to participant's visit.",
"Levels": {
"baseline": "First in-person visit.",
"followup": "Second in-person visit."
}
},
"b_ace_q1": {
"LongName": "ACE_HUMILIATE_HURT (question ID 176435)",
"Description": "1. Did a parent or other adult in the household often swear at you, insult you, put you down, or humiliate you, or act in a way that made you afraid that you might be physically hurt?",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"b_ace_q2": {
"LongName": "ACE_INJURE (question ID 176436)",
"Description": "2. Did a parent or other adult in the household often push, grab, slap, or throw something at you or ever hit you so hard that you had marks or were injured? ",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"b_ace_q3": {
"LongName": "ACE_TOUCH_SEX_WAY (question ID 176437)",
"Description": "3. Did an adult or person at least 5 years older than you ever touch or fondle you or have you touch their body in a sexual way or try to or actually have oral, anal, or vaginal sex with you? ",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"b_ace_q4": {
"LongName": "ACE_NO_LOVE_SUPPORT (question ID 176438)",
"Description": "4. Did you often feel that no one in your family loved you or thought you were important or special or your family didn't look out for each other, feel close to each other, or support each other? ",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"b_ace_q5": {
"LongName": "ACE_PROTECT_CARE (question ID 176439)",
"Description": "5. Did you often feel that you didn't have enough to eat, had to wear dirty clothes, and had no one to protect you or your parents were too drunk or high to take care of you or take you to the doctor if you needed it?",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"tesi_s_165": {
"LongName": "ACE_SEPARATE_DIVORCE (question ID 176440)",
"Description": "6. Were your parents ever separated or divorced?",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"b_ace_q7": {
"LongName": "ACE_MOTHER_HURT (question ID 176441)",
"Description": "7. Was your mother or stepmother: Often pushed, grabbed, slapped, or had something thrown at her? or sometimes or often kicked, bitten, hit with a fist, or hit with something hard? or ever repeatedly hit over at least a few minutes or threatened with a gun or knife? ",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"b_ace_q8": {
"LongName": "ACE_LIVE_ALCOHOL_DRUGS (question ID 176442)",
"Description": "8. Did you live with anyone who was a problem drinker or alcoholic or who used street drugs? ",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"b_ace_q9": {
"LongName": "ACE_HOUSEHOLD_DEPRESS (question ID 176443)",
"Description": "9. Was a household member depressed or mentally ill or did a household member attempt suicide? ",
"Levels": {
"1": "Yes",
"0": "No"
}
},
"ceahd15": {
"LongName": "ACE_HOUSEHOLD_PRISON (question ID 176444)",
"Description": "10. Did a household member go to prison?",
"Levels": {
"1": "Yes",
"0": "No"
}
}
}
3 changes: 3 additions & 0 deletions pheno004/phenotype/ace.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
participant_id b_ace_q1 b_ace_q2 b_ace_q3 b_ace_q4 b_ace_q5 tesi_s_165 b_ace_q7 b_ace_q8 b_ace_q9 ceahd15
sub-01 0 0 0 0 0 0 1 0 0 0
sub-03 0 0 0 0 0 0 0 0 0 0
64 changes: 64 additions & 0 deletions pheno004/phenotype/demographics.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"participant_id": {
"Description": "OpenNeuro ID of the subject."
},
"session_id": {
"Description": "ID assigned to participant's visit.",
"Levels": {
"onlineScreening": "First online screening visit.",
"onlineFollowup": "Online follow-up visit after 1 year of first in-person visit."
}
},
"gender": {
"Description": "2. What sex were you assigned at birth, on your original birth certificate?",
"Levels": {
"m": "Male",
"f": "Female"
}
},
"race": {
"LongName": "RACE_1, first endorsement",
"Description": "5. Race: (Check all that apply)",
"Levels": {
"1": "American Indian/Alaska Native",
"2": "Asian",
"3": "Hawaiian/Pacific Islander",
"4": "Black/African American",
"5": "White/Caucasian",
"6": "Multiple race",
"7": "Unknown"
}
},
"ethnicity": {
"LongName": "ETHNICITY_1 (question ID 140032)",
"Description": "6. Ethnicity:",
"Levels": {
"0": "Not Hispanic or Latino",
"1": "Hispanic or Latino",
"2": "Unknown"
}
},
"education": {
"LongName": "EDUCATION (question ID 58226)",
"Description": "10. Education level:",
"Levels": {
"0": "High school graduate or above",
"1": "Some college or above",
"2": "Associates degree or above",
"3": "Bachelors degree or above",
"4": "Advanced/professional degree"
}
},
"marital_status": {
"LongName": "MARITAL_STATUS (question ID 7171)",
"Description": "11. Marital Status:",
"Levels": {
"1": "Single/Never married",
"2": "Married or living with someone as if married",
"3": "Divorced or annulled",
"4": "Separated",
"5": "Widowed",
"6": "Other"
}
}
}
3 changes: 3 additions & 0 deletions pheno004/phenotype/demographics.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
participant_id gender race ethnicity education marital_status
sub-01 m 3 0 4 1
sub-03 f 6 0 3 2
63 changes: 63 additions & 0 deletions pheno004/sub-01/anat/sub-01_T1w.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"Modality": "MR",
"MagneticFieldStrength": 3,
"ImagingFrequency": 127.695727,
"Manufacturer": "GE",
"ManufacturersModelName": "DISCOVERY MR750",
"BodyPartExamined": "BRAIN",
"PatientPosition": "HFS",
"ProcedureStepDescription": "MRI Brain",
"SoftwareVersions": "27\\LX\\MR Software release:DV26.0_R03_1831.b",
"MRAcquisitionType": "3D",
"SeriesDescription": "ORIG Anat T1w MP-RAGE 1mm (ABCD)",
"ProtocolName": "[XT-ID:17-M-0181] ADNI3",
"ScanningSequence": "RM",
"SequenceVariant": "NONE",
"ScanOptions": "EDR_GEMS\\PROMO_GEMS\\ACC_GEMS\\IR_GEMS",
"PulseSequenceName": "mprage",
"ImageType": [
"ORIGINAL",
"PRIMARY",
"OTHER"
],
"SeriesNumber": 40003,
"AcquisitionTime": "12:43:16.000000",
"AcquisitionNumber": 1,
"SliceThickness": 1,
"SpacingBetweenSlices": 1,
"SAR": 0.115406,
"EchoTime": 0.00292,
"RepetitionTime": 0.006952,
"InversionTime": 1.06,
"FlipAngle": 8,
"ShimSetting": [
3,
-2,
-13
],
"PrescanReuseString": "TG/s2,RN/s1",
"CoilString": "32Ch Head",
"PercentPhaseFOV": 100,
"PercentSampling": 100,
"AcquisitionMatrixPE": 256,
"ReconMatrixPE": 256,
"ParallelReductionFactorInPlane": 2,
"ParallelReductionFactorOutOfPlane": 2,
"PixelBandwidth": 244.141,
"ImageOrientationPatientDICOM": [
0,
1,
0,
0,
0,
-1
],
"InPlanePhaseEncodingDirectionDICOM": "ROW",
"BidsGuess": [
"anat",
"_acq-EFGRE3Dp2_run-40003_T1w"
],
"ConversionSoftware": "dcm2niix",
"ConversionSoftwareVersion": "v1.0.20240202",
"Dcm2bidsVersion": "3.1.1"
}
Empty file.
Loading