Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
eebdb15
Additional columns for participants.tsv file to cover animal data
ree-gupta May 27, 2024
e6f4325
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 27, 2024
793a6d8
Modified age_type requirement level and rearranged columns
ree-gupta May 27, 2024
95804e4
Merge branch 'master' of https://github.com/ree-gupta/bids-specification
ree-gupta May 27, 2024
2f6531b
Update src/schema/objects/columns.yaml
ree-gupta Sep 18, 2024
bb04dc4
Update src/schema/objects/enums.yaml
ree-gupta Sep 18, 2024
8612a98
Applied changes to column definitions and their requirement levels
ree-gupta Mar 17, 2025
cfca31d
Added enum listings for participant age specification
ree-gupta Mar 17, 2025
c558d50
Added enums to columns object for age and lifecycle_stage
ree-gupta Mar 17, 2025
ae2ecab
Apply suggestions from description review
ree-gupta Mar 18, 2025
5135dd4
Apply suggestions from code review
ree-gupta Mar 19, 2025
edbd4b5
Move age_reference from columns definition to metadata definition
ree-gupta Apr 14, 2025
f9e5f68
Add rule for AgeReference in participants.json
ree-gupta Apr 14, 2025
1ad25d4
Merge remote-tracking branch 'origin/master' into pr-1839
yarikoptic May 21, 2025
33895b0
RF: move life_cycle_staget in alphabetical order
yarikoptic May 21, 2025
30f6ec0
ENH: add conditioning recommended by @effigies for AgeReference
yarikoptic May 21, 2025
86ffb22
Remove start_of_death_stage from AgeReference etc + typo fix
yarikoptic May 21, 2025
e7c02b2
Replace bad latin "e.g."
yarikoptic May 21, 2025
f0547cd
Merge branch 'master' into master
effigies May 21, 2025
9aedef1
Update src/schema/objects/columns.yaml
bendichter Jun 12, 2025
761dd5d
Update columns.yaml
lzehl Jun 12, 2025
46cdce4
Update enums.yaml
lzehl Jun 12, 2025
31a72fc
Update metadata.yaml
lzehl Jun 12, 2025
13bbb47
Update columns.yaml
lzehl Jun 12, 2025
b7cbbb9
Update columns.yaml
lzehl Jun 12, 2025
00fb641
Merge branch 'master' into master
lzehl Jun 12, 2025
66b6db0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 12, 2025
0954ee5
Update src/schema/objects/columns.yaml
bendichter Jun 12, 2025
b80dbbb
Update src/schema/objects/columns.yaml
lzehl Jun 12, 2025
193d498
Update src/schema/objects/columns.yaml
bendichter Jun 12, 2025
6a3d382
Update src/schema/objects/columns.yaml
bendichter Jun 12, 2025
f6c4648
Update src/schema/rules/tabular_data/modality_agnostic.yaml
bendichter Jun 12, 2025
d3a22a7
Update src/schema/objects/columns.yaml
bendichter Jun 12, 2025
fc20daf
Update src/schema/objects/columns.yaml
lzehl Jun 12, 2025
e784589
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 12, 2025
e3e0349
Update src/schema/rules/tabular_data/modality_agnostic.yaml
bendichter Jun 12, 2025
31a9cfb
Update src/schema/rules/tabular_data/modality_agnostic.yaml
bendichter Jun 12, 2025
9efd17c
Update src/schema/rules/tabular_data/modality_agnostic.yaml
bendichter Jun 12, 2025
fdc1cc7
Update src/schema/objects/columns.yaml
lzehl Jun 12, 2025
1e775de
Update src/schema/rules/tabular_data/modality_agnostic.yaml
bendichter Jun 12, 2025
ae7b7cf
Merge branch 'bids-standard:master' into master
ree-gupta Jul 30, 2025
28a064f
Update columns.yaml
lzehl Sep 3, 2025
7437e04
Update enums.yaml
lzehl Sep 3, 2025
5610b3d
Update metadata.yaml
lzehl Sep 3, 2025
d39b191
Update metadata.yaml
lzehl Sep 3, 2025
e0aea95
Update enums.yaml
lzehl Sep 3, 2025
3d955e9
Merge branch 'master' into master
ree-gupta Sep 4, 2025
478ccc7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 4, 2025
a7a31a3
Merge branch 'bids-standard:master' into master
ree-gupta Sep 8, 2025
a308042
Merge remote-tracking branch 'upstream/master'
ree-gupta Sep 8, 2025
285931c
Merge branch 'master' of https://github.com/ree-gupta/bids-specification
ree-gupta Sep 8, 2025
332fd0b
Merge branch 'master' into master
ree-gupta Sep 26, 2025
20d1230
Merge branch 'bids-standard:master' into master
ree-gupta Oct 1, 2025
bb3513c
Make the defintion of age have a more specific attribute AgeReference
ree-gupta Oct 1, 2025
b6a5b37
Switch from a time period term gestation to temporal boundary term LM…
ree-gupta Oct 1, 2025
c739904
Update AgeReference enum to include LMP_Startdate
ree-gupta Oct 1, 2025
43c52fc
Modify the value and display_name to match convention
ree-gupta Oct 1, 2025
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
56 changes: 55 additions & 1 deletion src/schema/objects/columns.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,29 @@ age:
Using "89+" for ages above 88 is DEPRECATED.
definition: {
"LongName": "Subject age",
"Description": "Subject age in postnatal years",
"Description": "Subject age in postnatal years.",
"AgeReference": "birth",
"Format": "number",
"Units": "year",
"Maximum": 89,
}
birthdate:
name: birthdate
display_name: Birth date
description: |
Date of the start of a subject's neonate stage. Date format (YYYY-MM-DD).
Should not be provided or anonymized for human subjects.
type: string
format: date
birthtime:
name: birthtime
display_name: Birth time
description: |
Time (or estimated time) of birth. Time format (hh:mm:ssZ).
Typically, this field will be combined with birthdate.
Should not be provided or anonymized for human subjects.
type: string
format: time
cardiac:
name: cardiac
display_name: Cardiac measurement
Expand Down Expand Up @@ -92,6 +110,23 @@ component:
- $ref: objects.enums.quat_y.value
- $ref: objects.enums.quat_z.value
- $ref: objects.enums.quat_w.value
deathdate:
name: deathdate
display_name: Death date
description: |
Date of the end of a subject's life cycle. Date format (YYYY-MM-DD).
Should not be provided or anonymized for human subjects.
type: string
format: date
deathtime:
name: deathtime
display_name: Death time
description: |
Time (or estimated time) of death. Time format (hh:mm:ssZ).
Typically, this field will be combined with deathdate.
Should not be provided or anonymized for human subjects.
type: string
format: time
detector__channels:
name: detector
display_name: Detector Name
Expand Down Expand Up @@ -253,6 +288,25 @@ index:
description: |
The label integer index.
type: integer
age_category:
name: age_category
display_name: Age category
description: |
A non-numeric term for a subject's life cycle stage (for instance, 'adult').
Inspired by the
[UBERON life cycle stage](http://purl.obolibrary.org/obo/UBERON_0000105).
type: string
enum:
- $ref: objects.enums.adolescent.value
- $ref: objects.enums.adult.value
- $ref: objects.enums.embryo.value
- $ref: objects.enums.infant.value
- $ref: objects.enums.juvenile.value
- $ref: objects.enums.late_adult.value
- $ref: objects.enums.neonate.value
- $ref: objects.enums.perinate.value
- $ref: objects.enums.prime_adult.value
- $ref: objects.enums.young_adult.value
low_cutoff:
name: low_cutoff
display_name: Low cutoff
Expand Down
88 changes: 88 additions & 0 deletions src/schema/objects/enums.yaml
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

birth, fertilization and gestation deleted from the enums

Original file line number Diff line number Diff line change
Expand Up @@ -1452,3 +1452,91 @@ microvascular:
display_name: microvascular
description: |
The origin of a tissue: microvascular
birth:
value: birth
display_name: birth
description: |
A life cycle temporal boundary that is defined as the emergence of a
neonate from the body of its mother. Assumed to be the default age
reference if not otherwise specified.
It marks the beginning of a subject's neonatal stage
([UBERON_0035946](http://purl.obolibrary.org/obo/UBERON_0035946)).
fertilization:
value: fertilization
display_name: fertilization
description: |
A life cycle temporal boundary that is defined as the union of gametes of
opposite sexes during the process of sexual reproduction to form a zygote
([GO_0009566](http://purl.obolibrary.org/obo/GO_0009566)).
It marks the beginning of the subject's embryonic stage.
LMP_startdate:
value: LMP start date
display_name: LMP start date
description: |
A life cycle temporal boundary that is defined as the first day of the mother's
last menstrual period (LMP). Used as reference when
time point of fertilization is unknown.
It marks the beginning of the subject's gestational stage.
adolescent:
value: adolescent
display_name: adolescent
description: |
Life cycle stage of a subject loosely defined by the transitional growth
and development between childhood and adulthood, often described as ‘puberty’.
adult:
value: adult
display_name: adult
description: |
Life cycle stage of a subject that starts with sexual maturity and ends with
death. Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0000113.
embryo:
value: embryo
display_name: embryo
description: |
Life cycle stage of a subject that starts with fertilization and ends with the
fully formed embryo. If fertilization is unknown the LMP startdate is assumed.
Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0000068.
infant:
value: infant
display_name: infant
description: |
Life cycle stage of subjects (mammals) that follows the neonate stage and ends at
weaning. Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0034920.
juvenile:
value: juvenile
display_name: juvenile
description: |
Life cycle stage of a subject that starts with the independence of the nest
and/or caregivers and ends with sexual maturity. Adapted from
UBERON - http://purl.obolibrary.org/obo/UBERON_0034919.
late_adult:
value: late adult
display_name: late adult
description: |
Life cycle stage of a subject that follows the prime adult stage and ends with
death. Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0007222.
neonate:
value: neonate
display_name: neonate
description:
Life cycle stage of a subject that immediately follows birth.
Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0007221.
perinate:
value: perinate
display_name: perinate
description: |
Life cycle stage of a subject that starts right before and ends right after birth.
Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0012101.
prime_adult:
value: prime adult
display_name: prime adult
description: |
Life cycle stage of a subject that starts with sexual maturity or
the cessation of growth, whichever comes last, and ends before senescence.
Adapted from UBERON - http://purl.obolibrary.org/obo/UBERON_0018241.
young_adult:
value: young adult
display_name: young adult
description: |
Life cycle stage of a subject that starts with sexual maturity and ends with the
cessation of growth (if this is reached after sexual maturity).
11 changes: 11 additions & 0 deletions src/schema/objects/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,17 @@ AcquisitionVoxelSize:
type: number
exclusiveMinimum: 0
unit: mm
AgeReference:
name: AgeReference
display_name: Age Reference
description: |
Non-numeric term of for a time point in a subject's life cycle that serves
as reference for the numeric age information (for instance, 'birth').
type: string
enum:
- $ref: objects.enums.fertilization.value
- $ref: objects.enums.LMP_startdate.value
- $ref: objects.enums.birth.value
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need this? How is this different from the age_reference in the Participants table? @yarikoptic

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a result of back/forth recommendations of where to integrate the age reference. This is the comment #1839 (comment) with the hopefully final decision on how to solve this.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From what I see in the comment this should not be deleted.

Anaesthesia:
name: Anaesthesia
display_name: Anaesthesia
Expand Down
7 changes: 7 additions & 0 deletions src/schema/rules/dataset_metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,10 @@ genetic_info:
TissueOrigin: optional
BrainLocation: optional
CellType: optional

participants:
selectors:
- path == "/participants.json"
- '"age" in columns'
fields:
AgeReference: recommended
Comment on lines +62 to +67
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this fit with #1839 (comment) ?

If yes this should also recommend age unit not only the age reference

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this is also the place for defining schema.rules.checks.something suggestion from #1839 (comment)

5 changes: 5 additions & 0 deletions src/schema/rules/tabular_data/modality_agnostic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ Participants:
handedness: recommended
strain: recommended
strain_rrid: recommended
birthdate: optional
birthtime: optional
deathdate: optional
deathtime: optional
age_category: optional
HED: optional
index_columns: [participant_id]
additional_columns: allowed
Expand Down
Loading