Skip to content

Commit 789cc7a

Browse files
authored
Merge pull request #483 from ericearl/pheno004
Add pheno004 example dataset
2 parents 5e6fa0c + 1d87d0d commit 789cc7a

File tree

13 files changed

+364
-11
lines changed

13 files changed

+364
-11
lines changed

.github/workflows/validate_datasets.yml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ concurrency:
1515
group: ${{ github.ref }}
1616
cancel-in-progress: true
1717

18+
defaults:
19+
run:
20+
shell: bash
21+
1822
jobs:
1923
build:
2024
strategy:
@@ -47,23 +51,20 @@ jobs:
4751
if: matrix.bids-validator == 'stable'
4852
run: |
4953
deno install -Agf -n bids-validator jsr:@bids/validator
50-
shell: bash
5154
5255
- name: Install BIDS validator (main)
5356
if: matrix.bids-validator == 'main'
5457
run: |
5558
# If unmerged validator PRs are needed for testing, you can use
5659
# https://github.com/<FORK>/bids-validator/raw/<BRANCH>/bids-validator/src/bids-validator.ts
5760
deno install -Agf https://github.com/bids-standard/bids-validator/raw/deno-build/bids-validator.js
58-
shell: bash
5961
6062
- name: Install BIDS validator (dev)
6163
if: matrix.bids-validator == 'dev'
6264
run: |
6365
git clone -b dev https://github.com/bids-standard/bids-validator/ ../bids-validator
6466
cd ../bids-validator
6567
deno compile -A -o $HOME/.deno/bin/bids-validator src/bids-validator.ts
66-
shell: bash
6768
6869
- name: Install BIDS validator (legacy)
6970
if: "matrix.bids-validator == 'legacy'"
@@ -78,7 +79,6 @@ jobs:
7879
echo "node\n----"; node --version
7980
echo "npm\n----"; npm --version
8081
echo "bids-validator"; bids-validator --version
81-
shell: bash
8282
8383
- name: Check that no large files are present
8484
if: "matrix.bids-validator == 'stable'"
@@ -93,17 +93,22 @@ jobs:
9393
echo "$found"
9494
exit 1;
9595
fi
96-
shell: bash
9796
9897
- name: Skip legacy validation for post-legacy datasets
99-
run: for DS in mrs_* dwi_deriv; do touch $DS/.SKIP_VALIDATION; done
98+
run: for DS in mrs_* dwi_deriv pheno004; do touch $DS/.SKIP_VALIDATION; done
10099
if: matrix.bids-validator == 'legacy'
101-
shell: bash
102100

103-
- name: Skip stable validation for datasets with unreleased features
104-
run: for DS in dwi_deriv; do touch $DS/.SKIP_VALIDATION; done
101+
- name: Skip stable validation for datasets with unreleased validator features
102+
# Replace ${EMPTY} with dataset patterns, when this is needed
103+
# Reset to "for DS in ${EMPTY}; ..." after a validator release
104+
run: for DS in ${EMPTY}; do touch $DS/.SKIP_VALIDATION; done
105+
if: matrix.bids-validator == 'stable'
106+
107+
- name: Skip main validation for datasets with unreleased spec features
108+
# Replace ${EMPTY} with dataset patterns, when this is needed
109+
# Reset to "for DS in ${EMPTY}; ..." after a spec release
110+
run: for DS in dwi_deriv pheno004; do touch $DS/.SKIP_VALIDATION; done
105111
if: matrix.bids-validator != 'dev'
106-
shell: bash
107112

108113
- name: Set BIDS_SCHEMA variable for dev version
109114
if: matrix.bids-validator == 'dev'
@@ -117,4 +122,3 @@ jobs:
117122
run: |
118123
cat ./run_tests.sh
119124
./run_tests.sh
120-
shell: bash

pheno004/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# BEP036 example dataset 04: One imaging-only, one phenotypic-only, and one with both imaging and phenotypic data
2+
3+
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:
4+
5+
```ascii
6+
📦pheno004
7+
┣ 📂phenotype
8+
┃ ┣ 📜ace.json
9+
┃ ┣ 📜ace.tsv
10+
┃ ┣ 📜demographics.json
11+
┃ ┗ 📜demographics.tsv
12+
┣ 📂sub-01
13+
┃ ┗ 📂anat
14+
┃ ┃ ┣ 📜sub-01_T1w.json
15+
┃ ┃ ┗ 📜sub-01_T1w.nii.gz
16+
┣ 📂sub-02
17+
┃ ┗ 📂anat
18+
┃ ┃ ┣ 📜sub-02_T1w.json
19+
┃ ┃ ┗ 📜sub-02_T1w.nii.gz
20+
┣ 📜participants.json
21+
┣ 📜participants.tsv
22+
┗ 📜README.md
23+
```

pheno004/dataset_description.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"Name": "Mixed Phenotype+Participants",
3+
"BIDSVersion": "1.11.0",
4+
"License": "CC0",
5+
"Authors": [
6+
"Eric Earl",
7+
"Arshitha Basavaraj",
8+
"Samuel Guay",
9+
"Sebastian Urchs"
10+
],
11+
"Acknowledgements": "Acknowledgements"
12+
}

pheno004/participants.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"participant_id": {
3+
"Description": "OpenNeuro ID of the subject."
4+
},
5+
"sex": {
6+
"Description": "Sex assigned at birth.",
7+
"Levels": {
8+
"m": "Male",
9+
"f": "Female"
10+
}
11+
},
12+
"age": {
13+
"Description": "Age of the participant.",
14+
"Units": "years"
15+
}
16+
}

pheno004/participants.tsv

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
participant_id sex age
2+
sub-01 m 22
3+
sub-02 f 63
4+
sub-03 f 47

pheno004/phenotype/ace.json

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
{
2+
"participant_id": {
3+
"Description": "OpenNeuro ID of the subject."
4+
},
5+
"session_id": {
6+
"Description": "ID assigned to participant's visit.",
7+
"Levels": {
8+
"baseline": "First in-person visit.",
9+
"followup": "Second in-person visit."
10+
}
11+
},
12+
"b_ace_q1": {
13+
"LongName": "ACE_HUMILIATE_HURT (question ID 176435)",
14+
"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?",
15+
"Levels": {
16+
"1": "Yes",
17+
"0": "No"
18+
}
19+
},
20+
"b_ace_q2": {
21+
"LongName": "ACE_INJURE (question ID 176436)",
22+
"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? ",
23+
"Levels": {
24+
"1": "Yes",
25+
"0": "No"
26+
}
27+
},
28+
"b_ace_q3": {
29+
"LongName": "ACE_TOUCH_SEX_WAY (question ID 176437)",
30+
"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? ",
31+
"Levels": {
32+
"1": "Yes",
33+
"0": "No"
34+
}
35+
},
36+
"b_ace_q4": {
37+
"LongName": "ACE_NO_LOVE_SUPPORT (question ID 176438)",
38+
"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? ",
39+
"Levels": {
40+
"1": "Yes",
41+
"0": "No"
42+
}
43+
},
44+
"b_ace_q5": {
45+
"LongName": "ACE_PROTECT_CARE (question ID 176439)",
46+
"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?",
47+
"Levels": {
48+
"1": "Yes",
49+
"0": "No"
50+
}
51+
},
52+
"tesi_s_165": {
53+
"LongName": "ACE_SEPARATE_DIVORCE (question ID 176440)",
54+
"Description": "6. Were your parents ever separated or divorced?",
55+
"Levels": {
56+
"1": "Yes",
57+
"0": "No"
58+
}
59+
},
60+
"b_ace_q7": {
61+
"LongName": "ACE_MOTHER_HURT (question ID 176441)",
62+
"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? ",
63+
"Levels": {
64+
"1": "Yes",
65+
"0": "No"
66+
}
67+
},
68+
"b_ace_q8": {
69+
"LongName": "ACE_LIVE_ALCOHOL_DRUGS (question ID 176442)",
70+
"Description": "8. Did you live with anyone who was a problem drinker or alcoholic or who used street drugs? ",
71+
"Levels": {
72+
"1": "Yes",
73+
"0": "No"
74+
}
75+
},
76+
"b_ace_q9": {
77+
"LongName": "ACE_HOUSEHOLD_DEPRESS (question ID 176443)",
78+
"Description": "9. Was a household member depressed or mentally ill or did a household member attempt suicide? ",
79+
"Levels": {
80+
"1": "Yes",
81+
"0": "No"
82+
}
83+
},
84+
"ceahd15": {
85+
"LongName": "ACE_HOUSEHOLD_PRISON (question ID 176444)",
86+
"Description": "10. Did a household member go to prison?",
87+
"Levels": {
88+
"1": "Yes",
89+
"0": "No"
90+
}
91+
}
92+
}

pheno004/phenotype/ace.tsv

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
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
2+
sub-01 0 0 0 0 0 0 1 0 0 0
3+
sub-03 0 0 0 0 0 0 0 0 0 0

pheno004/phenotype/demographics.json

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"participant_id": {
3+
"Description": "OpenNeuro ID of the subject."
4+
},
5+
"session_id": {
6+
"Description": "ID assigned to participant's visit.",
7+
"Levels": {
8+
"onlineScreening": "First online screening visit.",
9+
"onlineFollowup": "Online follow-up visit after 1 year of first in-person visit."
10+
}
11+
},
12+
"gender": {
13+
"Description": "2. What sex were you assigned at birth, on your original birth certificate?",
14+
"Levels": {
15+
"m": "Male",
16+
"f": "Female"
17+
}
18+
},
19+
"race": {
20+
"LongName": "RACE_1, first endorsement",
21+
"Description": "5. Race: (Check all that apply)",
22+
"Levels": {
23+
"1": "American Indian/Alaska Native",
24+
"2": "Asian",
25+
"3": "Hawaiian/Pacific Islander",
26+
"4": "Black/African American",
27+
"5": "White/Caucasian",
28+
"6": "Multiple race",
29+
"7": "Unknown"
30+
}
31+
},
32+
"ethnicity": {
33+
"LongName": "ETHNICITY_1 (question ID 140032)",
34+
"Description": "6. Ethnicity:",
35+
"Levels": {
36+
"0": "Not Hispanic or Latino",
37+
"1": "Hispanic or Latino",
38+
"2": "Unknown"
39+
}
40+
},
41+
"education": {
42+
"LongName": "EDUCATION (question ID 58226)",
43+
"Description": "10. Education level:",
44+
"Levels": {
45+
"0": "High school graduate or above",
46+
"1": "Some college or above",
47+
"2": "Associates degree or above",
48+
"3": "Bachelors degree or above",
49+
"4": "Advanced/professional degree"
50+
}
51+
},
52+
"marital_status": {
53+
"LongName": "MARITAL_STATUS (question ID 7171)",
54+
"Description": "11. Marital Status:",
55+
"Levels": {
56+
"1": "Single/Never married",
57+
"2": "Married or living with someone as if married",
58+
"3": "Divorced or annulled",
59+
"4": "Separated",
60+
"5": "Widowed",
61+
"6": "Other"
62+
}
63+
}
64+
}

pheno004/phenotype/demographics.tsv

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
participant_id gender race ethnicity education marital_status
2+
sub-01 m 3 0 4 1
3+
sub-03 f 6 0 3 2

pheno004/sub-01/anat/sub-01_T1w.json

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
"Modality": "MR",
3+
"MagneticFieldStrength": 3,
4+
"ImagingFrequency": 127.695727,
5+
"Manufacturer": "GE",
6+
"ManufacturersModelName": "DISCOVERY MR750",
7+
"BodyPartExamined": "BRAIN",
8+
"PatientPosition": "HFS",
9+
"ProcedureStepDescription": "MRI Brain",
10+
"SoftwareVersions": "27\\LX\\MR Software release:DV26.0_R03_1831.b",
11+
"MRAcquisitionType": "3D",
12+
"SeriesDescription": "ORIG Anat T1w MP-RAGE 1mm (ABCD)",
13+
"ProtocolName": "[XT-ID:17-M-0181] ADNI3",
14+
"ScanningSequence": "RM",
15+
"SequenceVariant": "NONE",
16+
"ScanOptions": "EDR_GEMS\\PROMO_GEMS\\ACC_GEMS\\IR_GEMS",
17+
"PulseSequenceName": "mprage",
18+
"ImageType": [
19+
"ORIGINAL",
20+
"PRIMARY",
21+
"OTHER"
22+
],
23+
"SeriesNumber": 40003,
24+
"AcquisitionTime": "12:43:16.000000",
25+
"AcquisitionNumber": 1,
26+
"SliceThickness": 1,
27+
"SpacingBetweenSlices": 1,
28+
"SAR": 0.115406,
29+
"EchoTime": 0.00292,
30+
"RepetitionTime": 0.006952,
31+
"InversionTime": 1.06,
32+
"FlipAngle": 8,
33+
"ShimSetting": [
34+
3,
35+
-2,
36+
-13
37+
],
38+
"PrescanReuseString": "TG/s2,RN/s1",
39+
"CoilString": "32Ch Head",
40+
"PercentPhaseFOV": 100,
41+
"PercentSampling": 100,
42+
"AcquisitionMatrixPE": 256,
43+
"ReconMatrixPE": 256,
44+
"ParallelReductionFactorInPlane": 2,
45+
"ParallelReductionFactorOutOfPlane": 2,
46+
"PixelBandwidth": 244.141,
47+
"ImageOrientationPatientDICOM": [
48+
0,
49+
1,
50+
0,
51+
0,
52+
0,
53+
-1
54+
],
55+
"InPlanePhaseEncodingDirectionDICOM": "ROW",
56+
"BidsGuess": [
57+
"anat",
58+
"_acq-EFGRE3Dp2_run-40003_T1w"
59+
],
60+
"ConversionSoftware": "dcm2niix",
61+
"ConversionSoftwareVersion": "v1.0.20240202",
62+
"Dcm2bidsVersion": "3.1.1"
63+
}

0 commit comments

Comments
 (0)