SCRUM-6110: Ltp expression dto classes and properties#325
Open
chris-grove wants to merge 4 commits into
Open
Conversation
Add DTO classes for GeneExpressionExperiment and GeneExpressionAnnotation, plus free-text fields on AnatomicalSite/TemporalContext (and their DTOs), and valid/invalid expression test files. - Add where_expressed_free_text to AnatomicalSite + AnatomicalSiteDTO. - Add when_expressed_free_text to TemporalContext + TemporalContextDTO. - Add ExpressionPatternDTO, GeneExpressionExperimentDTO, and GeneExpressionAnnotationDTO. Annotations are inlined under their parent experiment via expression_annotation_dtos (inlined_as_list: true) so submitters do not need to back-reference experiments by identifier. - Fix AnatomicalSiteDTO inheritance to AuditedObjectDTO (was AuditedObject). - Wire gene_expression_experiment_ingest_set into the Ingest class. - Add gene_expression_test and gene_expression_invalid to the Makefile test targets and ship corresponding JSON fixtures. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
and regenerate artifacts
Review — PR #325 (gene expression ingest DTOs)Summary: Adds the ingest side of the gene-expression model — Assertions (mechanical) — all cleanWalked the entity↔DTO slot mapping and the suffix rules; nothing to flag:
Questions (judgment calls)
Overall this looks solid and ready pending the curation-team answers above; the schema mechanics are correct. |
... to remove unnecessary (and redundant) properties. Also, cleaned up some notes and typos
Member
Author
|
Responding to the questions from Claude Review:
|
Member
Author
|
Just added one change to make single_reference of ExpressionExperiment required |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
expression.yamlto support LTP gene-expression ingest:GeneExpressionExperimentDTO— top-level submission class; inlines its child annotations viaexpression_annotation_dtosso submitters don't back-reference the experiment by id
GeneExpressionAnnotationDTO— inheritsevidence_curiefromAnnotationDTO, wraps a singleExpressionPatternDTOExpressionPatternDTO— pairswhen_expressed_dto(TemporalContextDTO) withwhere_expressed_dto(AnatomicalSiteDTO)expression_pattern_dto,when_expressed_dto,where_expressed_dto,detection_reagent_identifiers,specimen_genomic_model_identifier,specimen_allele_identifiers,related_figure_identifiers,expression_annotation_dtoswhere_expressed_free_text(onAnatomicalSite/AnatomicalSiteDTO) andwhen_expressed_free_text(on
TemporalContext/TemporalContextDTO) for cases where controlled terms are insufficientAnatomicalSiteDTOto mirror the sourceAnatomicalSiteslot set:cellular_component_ribbon_term_curies(new),plus
cellular_component_other,anatomical_structure_uberon_term_other,anatomical_substructure_uberon_term_other(existing boolean slots,
domain:removed so they're reusable by both source and DTO)AnatomicalSiteDTOpreviously inherited fromAuditedObject; corrected toAuditedObjectDTOgene_expression_experiment_ingest_setinto theIngestclass and importexpressioniningest.yamlMakefilegenerated/jsonschema/allianceModel.schema.jsonTest plan
make test-jsonschema— 34/34 valid fixtures pass (incl. newgene_expression_test.json)make test-jsonschema_invalid— 5/5 invalid fixtures correctly rejected (incl. newgene_expression_invalid.json, whichfails on
where_expressed_statement,gene_identifier,expression_assay_curie)