diff --git a/src/modality-agnostic-files/data-summary-files.md b/src/modality-agnostic-files/data-summary-files.md index c615196b5c..a978075c5e 100644 --- a/src/modality-agnostic-files/data-summary-files.md +++ b/src/modality-agnostic-files/data-summary-files.md @@ -107,12 +107,12 @@ and a guide for using macros can be found at `samples.tsv` example: ```tsv -sample_id participant_id sample_type derived_from -sample-01 sub-01 tissue n/a -sample-02 sub-01 tissue sample-01 -sample-03 sub-01 tissue sample-01 -sample-04 sub-02 tissue n/a -sample-05 sub-02 tissue n/a +sample_id participant_id sample_type derived_from anatomical_location +sample-01 sub-01 tissue block n/a brain +sample-02 sub-01 tissue slice sample-01 brain +sample-03 sub-01 tissue slice sample-01 brain +sample-04 sub-02 tissue n/a n/a +sample-05 sub-02 tissue n/a n/a ``` It is RECOMMENDED to accompany each `samples.tsv` file with a sidecar @@ -124,10 +124,19 @@ It is RECOMMENDED to accompany each `samples.tsv` file with a sidecar ```JSON { "sample_type": { - "Description": "type of sample from ENCODE Biosample Type (https://www.encodeproject.org/profiles/biosample_type)" + "Description": "type of sample" }, "derived_from": { "Description": "sample_id from which the sample is derived" + }, + "anatomical_location": { + "Description": "anatomical structure the sample was taken from", + "Levels": { + "brain": { + "Description": "brain", + "TermURL": "https://purl.obolibrary.org/obo/UBERON_0000955" + } + } } } ``` diff --git a/src/schema/objects/columns.yaml b/src/schema/objects/columns.yaml index c37735fe9f..5ff7b41edf 100644 --- a/src/schema/objects/columns.yaml +++ b/src/schema/objects/columns.yaml @@ -49,6 +49,17 @@ age: "Units": "year", "Maximum": 89, } +anatomical_location__samples: + name: anatomical_location + display_name: Anatomical location + description: | + The anatomical structure the sample was taken from, + for example, `primary visual cortex`, `hippocampus`, or `brain`. + The ontology or atlas the terms are taken from SHOULD be documented in `samples.json`, + using `TermURL` for the column and, where the individual terms are resolvable, `Levels` + to map each term to its own `TermURL` + (see [Tabular files](SPEC_ROOT/common-principles.md#tabular-files)). + type: string AP_angle: name: AP_angle display_name: AP angle @@ -783,8 +794,12 @@ sample_type: name: sample_type display_name: Sample type description: | - Biosample type defined by - [ENCODE Biosample Type](https://www.encodeproject.org/profiles/biosample_type). + The type of the sample. + Values are drawn from + [ENCODE Biosample Type](https://www.encodeproject.org/profiles/biosample_type) + and from the tissue sample types defined by + [openMINDS](https://openminds.docs.om-i.org/en/latest/instance_libraries/terminologies/tissueSampleType.html). + Where no listed value describes a sample, an addition to this list MAY be proposed. type: string enum: - $ref: objects.enums.cell_line.value @@ -796,6 +811,11 @@ sample_type: - $ref: objects.enums.whole_organisms.value - $ref: objects.enums.organoid.value - $ref: objects.enums.technical_sample.value + - $ref: objects.enums.whole_organ.value + - $ref: objects.enums.tissue_block.value + - $ref: objects.enums.tissue_slice.value + - $ref: objects.enums.single_cell.value + - $ref: objects.enums.cell_population.value sampling_frequency: name: sampling_frequency display_name: Channel sampling frequency diff --git a/src/schema/objects/enums.yaml b/src/schema/objects/enums.yaml index 8d2e9107f9..5e761622f5 100644 --- a/src/schema/objects/enums.yaml +++ b/src/schema/objects/enums.yaml @@ -1363,6 +1363,36 @@ technical_sample: display_name: technical sample description: | A biosample type (`sample_type`): technical sample +whole_organ: + value: whole organ + display_name: whole organ + description: | + A biosample type (`sample_type`): a complete organ removed from an organism, + for example, an extracted brain. +tissue_block: + value: tissue block + display_name: tissue block + description: | + A biosample type (`sample_type`): a block of tissue, + typically one from which slices are subsequently cut. +tissue_slice: + value: tissue slice + display_name: tissue slice + description: | + A biosample type (`sample_type`): a slice of tissue, + for example, an acute brain slice used for patch clamp recordings. +single_cell: + value: single cell + display_name: single cell + description: | + A biosample type (`sample_type`): an individual cell, + for example, a cell recorded from in a patch clamp experiment. +cell_population: + value: cell population + display_name: cell population + description: | + A biosample type (`sample_type`): a group of cells recorded or measured together + rather than individually. good: value: good display_name: good diff --git a/src/schema/rules/tabular_data/modality_agnostic.yaml b/src/schema/rules/tabular_data/modality_agnostic.yaml index 83fd7e14f4..43982a3373 100644 --- a/src/schema/rules/tabular_data/modality_agnostic.yaml +++ b/src/schema/rules/tabular_data/modality_agnostic.yaml @@ -28,6 +28,7 @@ Samples: sample_type: required pathology: recommended derived_from: recommended + anatomical_location__samples: optional index_columns: [sample_id, participant_id] additional_columns: allowed