Skip to content

Conversation

sooyounga
Copy link
Collaborator

  • basic CRUD operations API using participant and biosample data models
  • basic file/folder structure for the service
  • dummy admin.py file for future use (TODO: address commented out block in main.py)

@satra
Copy link
Member

satra commented Dec 14, 2022

this is adding a bunch of non-python files. should include a .gitignore and also reset the history to not include those files.

@sooyounga sooyounga force-pushed the sooyoung-basic-service-setup branch from 241e07c to 516b3f1 Compare December 14, 2022 21:18
@sooyounga sooyounga force-pushed the sooyoung-basic-service-setup branch from eaeb9cf to 24dfcd2 Compare March 3, 2023 17:11
Copy link
Member

@satra satra left a comment

Choose a reason for hiding this comment

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

added some comments. i think it would be helpful if the PR for the yaml files was to a separate repo, where we can build out models and you can add github actions there to populate a different library repo with the python code/schemas.

Comment on lines +20 to +23
method_information:
required: true
processing_information:
required: true
Copy link
Member

Choose a reason for hiding this comment

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

how are these related to a subject ?

Comment on lines +25 to +26
Image:
attributes:
Copy link
Member

Choose a reason for hiding this comment

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

this could benefit from the considerations in bids. see the bids microscopy paper, but also consider the bids standard for references to coordinate systems.

attributes:
defined_in:
required: true
voxel_or_pixel_size:
Copy link
Member

Choose a reason for hiding this comment

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

perhaps replace with resolution.

Copy link
Member

Choose a reason for hiding this comment

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

and units

Comment on lines +35 to +48
ReferenceData:
description: >-
Graphical representations of one or several brains, or parts of brains, chosen as the biological reference for that atlas
tree_root: true
attributes:
subjects:
multivalued: true
inlined_as_list: true
range: Subject
required: true
image:
multivalued: false
range: Image
required: true
Copy link
Member

Choose a reason for hiding this comment

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

this is where we would want to leverage the relationships in the W3C-PROV model. where the reference data may itself be an Entity (like the gene x cell matrix), with information linked to other entities through the prov relations.

default_range: string

classes:
Participant:
Copy link
Member

Choose a reason for hiding this comment

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

i had a chance to discus this with a few folks and there are couple of considerations that should be added to this.

  • age concepts vary by species
  • there are some components that should not change (datetime of birth) and some that could change (sex, weight, family, etc.,.)
  • we need to add concepts like littermates not just lineage, which is what relatedparticiant was focusing on. this could be a role added to relatedparticipant.

Choose a reason for hiding this comment

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

Also, some ages are measured from conception, some from birth -- some measured in days, some in weeks, some in years, etc.

Copy link
Member

Choose a reason for hiding this comment

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

@patrick-lloyd-ray - we think date of birth should capture most scenarios but is a sensitive field for humans. in dandi we use gestational reference and birth reference as two reference frames, and we are using the duration format for ISO8601 to allow for any age representation.

however age as a duration is also limited across species which have stages. also, we had to invent a format for age range (based on ISO8601), when precise age is not available. age is a complicated concept ;)

default_image:
ontology_identifier:

CoordinateSystem:
Copy link
Member

Choose a reason for hiding this comment

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


identifier: Identifier = Field(nskey="schema")
sampleType: SampleType = Field(
description="Identifier for the sample characteristics (e.g., from OBI, Encode).",

Choose a reason for hiding this comment

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

I think 'characteristics' is too broad here -- better to have 'Identifier for the type of sample (e.g., from OBI, Encode).'

)
anatomy: Optional[List[Anatomy]] = Field(
None,
description="Identifier for what organ the sample belongs "

Choose a reason for hiding this comment

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

'Identifier for the organ from which the sample derives.' maybe?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants