From 51cc7bfb54f8d089fa716564cc075edeb541a89b Mon Sep 17 00:00:00 2001 From: nikhil153 Date: Fri, 22 Mar 2024 17:17:21 -0400 Subject: [PATCH] added an example pheno dataset with irregular sessions for BEP tests --- pheno_nipoppy01/README.md | 3 ++ pheno_nipoppy01/dataset_description.json | 40 ++++++++++++++++ pheno_nipoppy01/participants.json | 20 ++++++++ pheno_nipoppy01/participants.tsv | 3 ++ pheno_nipoppy01/phenotype/demographics.json | 46 ++++++++++++++++++ pheno_nipoppy01/phenotype/demographics.tsv | 3 ++ pheno_nipoppy01/phenotype/moca.json | 12 +++++ pheno_nipoppy01/phenotype/moca.tsv | 4 ++ pheno_nipoppy01/phenotype/updrs3.json | 12 +++++ pheno_nipoppy01/phenotype/updrs3.tsv | 4 ++ .../ses-A/anat/sub-01_ses-A_run-1_T1w.json | 47 +++++++++++++++++++ .../ses-A/anat/sub-01_ses-A_run-1_T1w.nii.gz | 0 pheno_nipoppy01/sub-01/sub-01_sessions.tsv | 6 +++ .../ses-A/anat/sub-02_ses-A_run-1_T1w.json | 47 +++++++++++++++++++ .../ses-A/anat/sub-02_ses-A_run-1_T1w.nii.gz | 0 pheno_nipoppy01/sub-02/sub-02_sessions.tsv | 4 ++ 16 files changed, 251 insertions(+) create mode 100755 pheno_nipoppy01/README.md create mode 100755 pheno_nipoppy01/dataset_description.json create mode 100755 pheno_nipoppy01/participants.json create mode 100755 pheno_nipoppy01/participants.tsv create mode 100755 pheno_nipoppy01/phenotype/demographics.json create mode 100755 pheno_nipoppy01/phenotype/demographics.tsv create mode 100755 pheno_nipoppy01/phenotype/moca.json create mode 100755 pheno_nipoppy01/phenotype/moca.tsv create mode 100755 pheno_nipoppy01/phenotype/updrs3.json create mode 100755 pheno_nipoppy01/phenotype/updrs3.tsv create mode 100755 pheno_nipoppy01/sub-01/ses-A/anat/sub-01_ses-A_run-1_T1w.json create mode 100755 pheno_nipoppy01/sub-01/ses-A/anat/sub-01_ses-A_run-1_T1w.nii.gz create mode 100755 pheno_nipoppy01/sub-01/sub-01_sessions.tsv create mode 100755 pheno_nipoppy01/sub-02/ses-A/anat/sub-02_ses-A_run-1_T1w.json create mode 100755 pheno_nipoppy01/sub-02/ses-A/anat/sub-02_ses-A_run-1_T1w.nii.gz create mode 100755 pheno_nipoppy01/sub-02/sub-02_sessions.tsv diff --git a/pheno_nipoppy01/README.md b/pheno_nipoppy01/README.md new file mode 100755 index 000000000..ff015f617 --- /dev/null +++ b/pheno_nipoppy01/README.md @@ -0,0 +1,3 @@ +## Sample BIDS dataset with async visits and sessions + +This is sample BIDS dataset create for BIDS pheno BEP testing. This includes two subjects with imaging (`anat`) and phenotypical tabular data. The data collection for imaging and phenotypic assessments is NOT in sync. Therefore the session dates (for a given subject) do not coincide for MRI and muttiple phenotypic assessments (i.e. MoCA and UPDRS3). \ No newline at end of file diff --git a/pheno_nipoppy01/dataset_description.json b/pheno_nipoppy01/dataset_description.json new file mode 100755 index 000000000..8e1518d93 --- /dev/null +++ b/pheno_nipoppy01/dataset_description.json @@ -0,0 +1,40 @@ +{ + "Name": "Sample BIDS dataset with async visits and sessions", + "BIDSVersion": "1.6.0", + "DatasetType": "raw", + "License": "CC0", + "Authors": [ + "NB", + "RG" + ], + "Acknowledgements": "Special thanks to the BIDS team", + "HowToAcknowledge": "Please cite this paper: ", + "Funding": [ + "", + "" + ], + "EthicsApprovals": [ + "" + ], + "ReferencesAndLinks": [ + "" + ], + "DatasetDOI": "doi:10.0.2.3/dfjj.10", + "HEDVersion": "8.0.0", + "GeneratedBy": [ + { + "Name": "reproin", + "Version": "0.6.0", + "Container": { + "Type": "docker", + "Tag": "repronim/reproin:0.6.0" + } + } + ], + "SourceDatasets": [ + { + "URL": "https://bids-standard.github.io/bids-examples/", + "Version": "" + } + ] +} diff --git a/pheno_nipoppy01/participants.json b/pheno_nipoppy01/participants.json new file mode 100755 index 000000000..cf37ce24e --- /dev/null +++ b/pheno_nipoppy01/participants.json @@ -0,0 +1,20 @@ +{ + "age": { + "Description": "age of the participant", + "Units": "years" + }, + "sex": { + "Description": "sex of the participant as reported by the participant", + "Levels": { + "M": "male", + "F": "female" + } + }, + "group": { + "Description": "experimental group the participant belonged to", + "Levels": { + "read": "participants who read an inspirational text before the experiment", + "write": "participants who wrote an inspirational text before the experiment" + } + } +} \ No newline at end of file diff --git a/pheno_nipoppy01/participants.tsv b/pheno_nipoppy01/participants.tsv new file mode 100755 index 000000000..ac1b23ce7 --- /dev/null +++ b/pheno_nipoppy01/participants.tsv @@ -0,0 +1,3 @@ +participant_id age sex group +sub-01 50 female PD +sub-02 60 male control \ No newline at end of file diff --git a/pheno_nipoppy01/phenotype/demographics.json b/pheno_nipoppy01/phenotype/demographics.json new file mode 100755 index 000000000..77e9a1642 --- /dev/null +++ b/pheno_nipoppy01/phenotype/demographics.json @@ -0,0 +1,46 @@ +{ + "AGE": { + "LongName": "AGE (question ID 208)", + "Description": "1. What is your current age?" + }, + "SEX": { + "LongName": "SEX (question ID 117530)", + "Description": "2. What sex were you assigned at birth, on your original birth certificate?", + "Levels": { + "1": "Male", + "2": "Female", + "3": "Other" + } + }, + "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" + } + }, + "LANGUAGE": { + "LongName": "LANGUAGE (question ID 49916)", + "Description": "14. What is your primary language?" + }, + "INCOME": { + "LongName": "INCOME (question ID 15416)", + "Description": "12. Household income:", + "Levels": { + "1": "Less than $10,000", + "2": "$10,001 to $15,000", + "3": "$15,001 to $25,000", + "4": "$25,001 to $35,000", + "5": "$35,001 to $50,000", + "6": "$50,001 to $75,000", + "7": "$75,001 to $100,000", + "8": "$100,001 to $150,000", + "9": "$150,000 to $199,999", + "10": "$200,000 or more" + } + } +} \ No newline at end of file diff --git a/pheno_nipoppy01/phenotype/demographics.tsv b/pheno_nipoppy01/phenotype/demographics.tsv new file mode 100755 index 000000000..3b2edbaae --- /dev/null +++ b/pheno_nipoppy01/phenotype/demographics.tsv @@ -0,0 +1,3 @@ +participant_id AGE SEX EDUCATION INCOME LANGUAGE +sub-01 50 female 4 8 English +sub-02 60 male 3 7 French diff --git a/pheno_nipoppy01/phenotype/moca.json b/pheno_nipoppy01/phenotype/moca.json new file mode 100755 index 000000000..720ac04a9 --- /dev/null +++ b/pheno_nipoppy01/phenotype/moca.json @@ -0,0 +1,12 @@ +{ + "participant_id": { + "Description": "ID of the subject." + }, + "session_id": { + "Description": "ID of the subject visit for the type of assessment." + }, + "MOCA_TOTAL": { + "LongName": "Montreal Cognitive Assessment total score value.", + "Description": " Total points earned on Montreal Cognitive Assessment (MOCA) " + } +} diff --git a/pheno_nipoppy01/phenotype/moca.tsv b/pheno_nipoppy01/phenotype/moca.tsv new file mode 100755 index 000000000..cd5d70543 --- /dev/null +++ b/pheno_nipoppy01/phenotype/moca.tsv @@ -0,0 +1,4 @@ +participant_id session_id MOCA_TOTAL +sub-01 ses-CogV01 25 +sub-02 ses-CogV01 28 +sub-01 ses-CogV02 24 diff --git a/pheno_nipoppy01/phenotype/updrs3.json b/pheno_nipoppy01/phenotype/updrs3.json new file mode 100755 index 000000000..dab7c9b8a --- /dev/null +++ b/pheno_nipoppy01/phenotype/updrs3.json @@ -0,0 +1,12 @@ +{ + "participant_id": { + "Description": "ID of the subject." + }, + "session_id": { + "Description": "ID of the subject visit for the type of assessment." + }, + "UPDRS3_TOTAL": { + "LongName": "MDS-Unified Parkinson's Disease Rating Scale (Part 3).", + "Description": " Total points earned on UPDRS III measuring motor function." + } +} \ No newline at end of file diff --git a/pheno_nipoppy01/phenotype/updrs3.tsv b/pheno_nipoppy01/phenotype/updrs3.tsv new file mode 100755 index 000000000..1fe498f8c --- /dev/null +++ b/pheno_nipoppy01/phenotype/updrs3.tsv @@ -0,0 +1,4 @@ +participant_id session_id UPDRS3_TOTAL +sub-01 ses-MotorV01 65 +sub-02 ses-MotorV01 56 +sub-01 ses-MotorV02 70 \ No newline at end of file diff --git a/pheno_nipoppy01/sub-01/ses-A/anat/sub-01_ses-A_run-1_T1w.json b/pheno_nipoppy01/sub-01/ses-A/anat/sub-01_ses-A_run-1_T1w.json new file mode 100755 index 000000000..721374ecf --- /dev/null +++ b/pheno_nipoppy01/sub-01/ses-A/anat/sub-01_ses-A_run-1_T1w.json @@ -0,0 +1,47 @@ +{ + "AcquisitionMatrixPE": 256, + "AcquisitionNumber": 1, + "AcquisitionTime": "14:32:49.072500", + "BaseResolution": 256, + "BodyPartExamined": "BRAIN", + "DwellTime": 8.2e-06, + "EchoTime": 0.00298, + "FlipAngle": 9, + "ImageOrientationPatientDICOM": [0, 1, 0, 0, 0, -1], + "ImageOrientationText": "Sag", + "ImagingFrequency": 123.25, + "InPlanePhaseEncodingDirectionDICOM": "ROW", + "InstitutionAddress": "Bagel Steet", + "InstitutionName": "ParkCore", + "InstitutionalDepartmentName": "NiPoppy", + "InversionTime": 0.9, + "MRAcquisitionType": "3D", + "MagneticFieldStrength": 3, + "Manufacturer": "Siemens", + "ManufacturersModelName": "Prisma_fit", + "MatrixCoilMode": "GRAPPA", + "Modality": "MR", + "NonlinearGradientCorrection": false, + "ParallelReductionFactorInPlane": 2, + "PartialFourier": 1, + "PatientPosition": "HFS", + "PercentPhaseFOV": 100, + "PercentSampling": 100, + "PhaseEncodingSteps": 255, + "PhaseResolution": 1, + "PixelBandwidth": 240, + "ProcedureStepDescription": "", + "ProtocolName": "3DT1", + "PulseSequenceDetails": "", + "ReceiveCoilActiveElements": "HEA;HEP", + "ReceiveCoilName": "Head_32", + "ReconMatrixPE": 256, + "RefLinesPE": 24, + "RepetitionTime": 2.3, + "SAR": 0.0556662, + "ScanOptions": "IR", + "ScanningSequence": "GR\\IR", + "SequenceName": "*tfl3d1_16ns", + "SeriesDescription": "3DT1", + "SeriesNumber": 2, + "SliceThickness": 1} \ No newline at end of file diff --git a/pheno_nipoppy01/sub-01/ses-A/anat/sub-01_ses-A_run-1_T1w.nii.gz b/pheno_nipoppy01/sub-01/ses-A/anat/sub-01_ses-A_run-1_T1w.nii.gz new file mode 100755 index 000000000..e69de29bb diff --git a/pheno_nipoppy01/sub-01/sub-01_sessions.tsv b/pheno_nipoppy01/sub-01/sub-01_sessions.tsv new file mode 100755 index 000000000..2f62fcab8 --- /dev/null +++ b/pheno_nipoppy01/sub-01/sub-01_sessions.tsv @@ -0,0 +1,6 @@ +session_id acq_time assessment_type visit_label visit_order +ses-A 2009-06-15T13:45:30 imaging MRI 1 +ses-CogV01 2009-06-15T13:45:30 phenotype Cog 1 +ses-CogV02 2010-06-15T13:45:30 phenotype Cog 2 +ses-MotorV01 2009-10-15T13:45:30 phenotype Motor 1 +ses-MotorV02 2010-11-15T13:45:30 phenotype Motor 2 diff --git a/pheno_nipoppy01/sub-02/ses-A/anat/sub-02_ses-A_run-1_T1w.json b/pheno_nipoppy01/sub-02/ses-A/anat/sub-02_ses-A_run-1_T1w.json new file mode 100755 index 000000000..721374ecf --- /dev/null +++ b/pheno_nipoppy01/sub-02/ses-A/anat/sub-02_ses-A_run-1_T1w.json @@ -0,0 +1,47 @@ +{ + "AcquisitionMatrixPE": 256, + "AcquisitionNumber": 1, + "AcquisitionTime": "14:32:49.072500", + "BaseResolution": 256, + "BodyPartExamined": "BRAIN", + "DwellTime": 8.2e-06, + "EchoTime": 0.00298, + "FlipAngle": 9, + "ImageOrientationPatientDICOM": [0, 1, 0, 0, 0, -1], + "ImageOrientationText": "Sag", + "ImagingFrequency": 123.25, + "InPlanePhaseEncodingDirectionDICOM": "ROW", + "InstitutionAddress": "Bagel Steet", + "InstitutionName": "ParkCore", + "InstitutionalDepartmentName": "NiPoppy", + "InversionTime": 0.9, + "MRAcquisitionType": "3D", + "MagneticFieldStrength": 3, + "Manufacturer": "Siemens", + "ManufacturersModelName": "Prisma_fit", + "MatrixCoilMode": "GRAPPA", + "Modality": "MR", + "NonlinearGradientCorrection": false, + "ParallelReductionFactorInPlane": 2, + "PartialFourier": 1, + "PatientPosition": "HFS", + "PercentPhaseFOV": 100, + "PercentSampling": 100, + "PhaseEncodingSteps": 255, + "PhaseResolution": 1, + "PixelBandwidth": 240, + "ProcedureStepDescription": "", + "ProtocolName": "3DT1", + "PulseSequenceDetails": "", + "ReceiveCoilActiveElements": "HEA;HEP", + "ReceiveCoilName": "Head_32", + "ReconMatrixPE": 256, + "RefLinesPE": 24, + "RepetitionTime": 2.3, + "SAR": 0.0556662, + "ScanOptions": "IR", + "ScanningSequence": "GR\\IR", + "SequenceName": "*tfl3d1_16ns", + "SeriesDescription": "3DT1", + "SeriesNumber": 2, + "SliceThickness": 1} \ No newline at end of file diff --git a/pheno_nipoppy01/sub-02/ses-A/anat/sub-02_ses-A_run-1_T1w.nii.gz b/pheno_nipoppy01/sub-02/ses-A/anat/sub-02_ses-A_run-1_T1w.nii.gz new file mode 100755 index 000000000..e69de29bb diff --git a/pheno_nipoppy01/sub-02/sub-02_sessions.tsv b/pheno_nipoppy01/sub-02/sub-02_sessions.tsv new file mode 100755 index 000000000..35df72517 --- /dev/null +++ b/pheno_nipoppy01/sub-02/sub-02_sessions.tsv @@ -0,0 +1,4 @@ +session_id acq_time assessment_type visit_label visit_order +ses-A 2009-08-30T13:45:30 imaging MRI 1 +ses-CogV01 2009-07-30T13:45:30 phenotype Cog 1 +ses-MotorV01 2009-09-30T13:45:30 phenotype Motor 1 \ No newline at end of file