From 66b1a7c3f7b41ba24884391586b32110038d0ab2 Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 1 Mar 2024 18:22:00 -0800 Subject: [PATCH 01/17] added Study slots (no enums or Dataset slots yet) --- src/linkml/include_study.yaml | 108 ++++++++++++++++++++++++++++++---- 1 file changed, 98 insertions(+), 10 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 68bbde40..9330f57c 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -34,14 +34,14 @@ classes: slots: studyCode: definition_uri: include:studyCode - description: Unique identifer for the study, assigned by DCC + description: Unique identifer for the study (generally a short acronym) title: Study Code range: enum_studyCode required: true - studyName: - definition_uri: include:studyName - description: Full name of the study, chosen by data contributor - title: Study Name + studyTitle: + definition_uri: include:studyTitle + description: Full title of the study + title: Study Title required: true range: string program: @@ -50,10 +50,35 @@ slots: title: Program range: enum_program required: true - dbgap: - definition_uri: include:dbgap - description: dbGaP study accession code - title: dbGaP + studyDescription: + definition_uri: include:studyDescription + description: Brief description of the study (2-4 sentences). Should match description in https://includedcc.org/studies. + title: Study Description + required: true + range: string + principalInvestigatorName: #should this be multivalued? inlined as list? + definition_uri: include:principalInvestigatorName + description: Name(s) of Principal Investigator(s) of this study + title: Principal Investigator Name + required: true + range: string + studyContactName: + definition_uri: include:studyContactName + description: Name of contact person for this study (may be different from PI) + title: Study Contact Name + required: true + range: string + studyContactInstitution: + definition_uri: include:studyContactInstitution + description: Institution of contact person for this study + title: Study Contact Institution + required: true + range: string + studyContactEmail: + definition_uri: include:studyContactEmail + description: Email address of contact person for this study + title: Study Contact Email + required: true range: string vbrEmail: definition_uri: include:vbrEmail @@ -64,12 +89,75 @@ slots: definition_uri: include:vbrUrl description: Link to Virtual Biorepository request form title: Virtual Biorepository URL - range: string + range: string #url vbrReadme: definition_uri: include:vbrReadme description: Instructions for contacting or requesting samples from Virtual Biorepository title: Virtual Biorepository Readme range: string + researchDomain: + definition_uri: include:researchDomain + description: Main research domain(s) of your study, other than Down syndrome + title: Research Domain + range: enum_researchDomain + required: true + participantLifespanStage: #how to allow multiple choices? + definition_uri: include:participantLifespanStage + description: Focus age group(s) of your study population + title: Participant Lifespan Stage + range: enum_participantLifespanStage + required: true + selectionCriteria: + definition_uri: include:selectionCriteria + description: Brief description of inclusion and/or exclusion criteria for the study + title: Selection Criteria + range: string + studyDesign: + definition_uri: include:studyDesign + description: Overall design of study + title: Study Design + range: string + required: true + clinicalDataSourceType: #how to allow multiple choices? + definition_uri: include:clinicalDataSourceType + description: Source(s) of data collected from study participants + title: Clinical Data Source Type + range: enum_clinicalDataSourceType + required: true + expectedDataCategories: + definition_uri: include:expectedDataCategories + description: Funding source for the study + title: Expected categories of data collected in this study + range: enum_expectedDataCategories #these enums should also be added to dataCategory in DataFile + required: true + studyWebsite: + definition_uri: include:studyWebsite + description: Website for the study + title: Study Website + range: string #url + dbgap: + definition_uri: include:dbgap + description: dbGaP study accession code + title: dbGaP + range: string + publication: #should this be multivalued? inlined as list? + definition_uri: include:publication + description: URL or DOI for publication(s) describing the study's rationale and methodology (PMID preferred) + title: Publication + range: string + required: true + expectedNumberOfParticipants: + definition_uri: include:expectedNumberOfParticipants + description: Expected number of participants in this study + title: Expected Number of Participants + range: integer + required: true + guidType: + definition_uri: include:guidType + description: System used to generate globally unique identifiers (GUIDs) + title: GUID Type + range: enum_guidType + required: true enums: enum_program: name: enum_program From 0bedd6dde8562647e1b5902492ef6cbc34f6a161 Mon Sep 17 00:00:00 2001 From: lopierra Date: Tue, 5 Mar 2024 18:39:28 -0800 Subject: [PATCH 02/17] slot updates after Modeling meeting --- src/linkml/include_study.yaml | 45 +++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 9330f57c..16ce80e6 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -23,7 +23,7 @@ classes: description: General information about the study title: Study is_a: Thing - slots: + slots: #update with new slots - studyCode - studyName - program @@ -56,30 +56,34 @@ slots: title: Study Description required: true range: string - principalInvestigatorName: #should this be multivalued? inlined as list? + principalInvestigatorName: definition_uri: include:principalInvestigatorName - description: Name(s) of Principal Investigator(s) of this study + description: Name(s) of Principal Investigator(s) of this study; #separate with pipes - add to other multivalued title: Principal Investigator Name required: true range: string + multivalued: true studyContactName: definition_uri: include:studyContactName - description: Name of contact person for this study (may be different from PI) + description: Name of contact person for this study (only one; may be different from PI) title: Study Contact Name required: true range: string + multivalued: true studyContactInstitution: definition_uri: include:studyContactInstitution description: Institution of contact person for this study title: Study Contact Institution required: true range: string + multivalued: true studyContactEmail: definition_uri: include:studyContactEmail description: Email address of contact person for this study title: Study Contact Email required: true range: string + multivalued: true vbrEmail: definition_uri: include:vbrEmail description: Email address for Virtual Biorepository requests/inquiries @@ -89,7 +93,7 @@ slots: definition_uri: include:vbrUrl description: Link to Virtual Biorepository request form title: Virtual Biorepository URL - range: string #url + range: uri vbrReadme: definition_uri: include:vbrReadme description: Instructions for contacting or requesting samples from Virtual Biorepository @@ -101,12 +105,13 @@ slots: title: Research Domain range: enum_researchDomain required: true - participantLifespanStage: #how to allow multiple choices? + participantLifespanStage: definition_uri: include:participantLifespanStage - description: Focus age group(s) of your study population + description: Focus age group(s) of your study population #comma separated list of enums for now title: Participant Lifespan Stage range: enum_participantLifespanStage required: true + multivalued: true selectionCriteria: definition_uri: include:selectionCriteria description: Brief description of inclusion and/or exclusion criteria for the study @@ -118,34 +123,35 @@ slots: title: Study Design range: string required: true - clinicalDataSourceType: #how to allow multiple choices? + clinicalDataSourceType: definition_uri: include:clinicalDataSourceType description: Source(s) of data collected from study participants title: Clinical Data Source Type - range: enum_clinicalDataSourceType + range: enum_clinicalDataSourceType #should be the same as in Condition required: true - expectedDataCategories: - definition_uri: include:expectedDataCategories + multivalued: true + expectedDataCategory: + definition_uri: include:expectedDataCategory description: Funding source for the study - title: Expected categories of data collected in this study - range: enum_expectedDataCategories #these enums should also be added to dataCategory in DataFile + title: Expected category/categories of data collected in this study + range: enum_expectedDataCategory #reuse enum for dataCategory in DataFile required: true studyWebsite: definition_uri: include:studyWebsite description: Website for the study title: Study Website - range: string #url + range: uri dbgap: definition_uri: include:dbgap description: dbGaP study accession code title: dbGaP range: string - publication: #should this be multivalued? inlined as list? + publication: definition_uri: include:publication - description: URL or DOI for publication(s) describing the study's rationale and methodology (PMID preferred) + description: URL or DOI for publication(s) describing the study's rationale and methodology (PubMed Central IDs preferred but not required) title: Publication range: string - required: true + multivalued: true expectedNumberOfParticipants: definition_uri: include:expectedNumberOfParticipants description: Expected number of participants in this study @@ -188,6 +194,9 @@ enums: bri_dsr: text: bri_dsr title: BRI-DSR + child_ds: + text: child_ds + title: CHILD-DS charge_ds: text: charge_ds title: CHARGE-DS @@ -232,7 +241,7 @@ enums: title: ECODS exceeds: text: exceeds - title: ExCEEDS + title: EXcEEDS htp: text: htp title: HTP From b7e05850055734c0ae3447b694a767afbdd6f377 Mon Sep 17 00:00:00 2001 From: lopierra Date: Wed, 6 Mar 2024 14:41:06 -0800 Subject: [PATCH 03/17] updated Study slots; added Study enums; added enum_dataCategory to Assay --- src/linkml/include_assay.yaml | 2 +- src/linkml/include_study.yaml | 162 +++++++++++++++++++++++++++++++--- 2 files changed, 152 insertions(+), 12 deletions(-) diff --git a/src/linkml/include_assay.yaml b/src/linkml/include_assay.yaml index ddac7dd1..f8584714 100644 --- a/src/linkml/include_assay.yaml +++ b/src/linkml/include_assay.yaml @@ -254,7 +254,7 @@ slots: Metabolomics, Immune profiling, Transcriptomics) title: Data Category required: true - range: string + range: enum_DataCategory dataType: definition_uri: include:dataType description: Specific type of data contained in file (e.g. Preprocessed metabolite relative abundance, Absolute protein concentration, Aligned reads, Simple nucleotide variations, GVCF, Gene expression quantifications, Gene fusions, Somatic copy number variations, Somatic structural variations) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 16ce80e6..6b5a55cc 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -27,10 +27,25 @@ classes: - studyCode - studyName - program - - dbgap + - studyDescription + - principalInvestigatorName + - studyContactName + - studyContactInstitution + - studyContactEmail - vbrEmail - vbrUrl - vbrReadme + - researchDomain + - participantLifespanStage + - selectionCriteria + - studyDesign + - clinicalDataSourceType + - expectedDataCategory + - studyWebsite + - dbgap + - publication + - expectedNumberOfParticipants + - guidType slots: studyCode: definition_uri: include:studyCode @@ -58,28 +73,28 @@ slots: range: string principalInvestigatorName: definition_uri: include:principalInvestigatorName - description: Name(s) of Principal Investigator(s) of this study; #separate with pipes - add to other multivalued + description: Name(s) of Principal Investigator(s) of this study; pipe-separated if multiple title: Principal Investigator Name required: true range: string multivalued: true studyContactName: definition_uri: include:studyContactName - description: Name of contact person for this study (only one; may be different from PI) + description: Name of contact person for this study; pipe-separated if multiple title: Study Contact Name required: true range: string multivalued: true studyContactInstitution: definition_uri: include:studyContactInstitution - description: Institution of contact person for this study + description: Institution of contact person for this study; pipe-separated if multiple title: Study Contact Institution required: true range: string multivalued: true studyContactEmail: definition_uri: include:studyContactEmail - description: Email address of contact person for this study + description: Email address of contact person for this study; pipe-separated if multiple title: Study Contact Email required: true range: string @@ -101,13 +116,14 @@ slots: range: string researchDomain: definition_uri: include:researchDomain - description: Main research domain(s) of your study, other than Down syndrome + description: Main research domain(s) of your study, other than Down syndrome; pipe-separated if multiple title: Research Domain range: enum_researchDomain required: true + multivalued: true participantLifespanStage: definition_uri: include:participantLifespanStage - description: Focus age group(s) of your study population #comma separated list of enums for now + description: Focus age group(s) of your study population; pipe-separated if multiple title: Participant Lifespan Stage range: enum_participantLifespanStage required: true @@ -127,14 +143,15 @@ slots: definition_uri: include:clinicalDataSourceType description: Source(s) of data collected from study participants title: Clinical Data Source Type - range: enum_clinicalDataSourceType #should be the same as in Condition + range: enum_clinicalDataSourceType + #TODO: replace enum_conditionDataSource with this - or consider deleting slot conditionDataSource required: true multivalued: true expectedDataCategory: definition_uri: include:expectedDataCategory description: Funding source for the study title: Expected category/categories of data collected in this study - range: enum_expectedDataCategory #reuse enum for dataCategory in DataFile + range: enum_DataCategory #reuse enum for dataCategory in DataFile required: true studyWebsite: definition_uri: include:studyWebsite @@ -148,9 +165,9 @@ slots: range: string publication: definition_uri: include:publication - description: URL or DOI for publication(s) describing the study's rationale and methodology (PubMed Central IDs preferred but not required) + description: URL for publication(s) describing the study's rationale and methodology (PubMed Central preferred but not required; pipe-separated if multiple) title: Publication - range: string + range: uri multivalued: true expectedNumberOfParticipants: definition_uri: include:expectedNumberOfParticipants @@ -257,3 +274,126 @@ enums: x01_hakonarson: text: x01_hakonarson title: X01-Hakonarson + enum_researchDomain: + name: enum_researchDomain + definition_uri: include:enum_researchDomain + permissible_values: + behavior_and_mechanisms: + text: behavior_and_mechanisms + title: Behavior and Behavior Mechanisms + meaning: mesh:D001520 #is this how to format MeSH term? + congenital_heart_defects: + text: congenital_heart_defects + title: Congenital Heart Defects + meaning: mesh:D006330 + immune_system_diseases: + text: immune_system_diseases + title: Immune System Diseases + meaning: mesh:D007154 + hematologic_diseases: + text: hematologic_diseases + title: Hematologic Diseases + meaning: mesh:D006402 + sleep_wake_disorders: + text: sleep_wake_disorders + title: Sleep Wake Disorders + meaning: mesh:D012893 + all_coocurring_conditions: + text: all_cooccurring_conditions + title: All Co-occurring Conditions + meaning: mesh:D013568 + other: + text: other + title: Other + enum_participantLifespanStage: + name: enum_participantLifespanStage + definition_uri: include:enum_participantLifespanStage + permissible_values: + fetal: + text: fetal + title: Fetal + neonatal: + text: neonatal + title: Neonatal + description: 0-28 days old + pediatric: + text: pediatric + title: Pediatric + description: Birth-17 years old + adult: + text: adult + title: Adult + description: 18+ years old + enum_clinicalDataSourceType: + #TODO: replace enum_conditionDataSource with this - or consider deleting slot conditionDataSource + name: enum_clinicalDataSourceType + definition_uri: include:enum_clinicalDataSourceType + permissible_values: + medical_record: + text: medical_record + title: Medical Record + description: Data obtained directly from medical record + investigator_assessment: + text: investigator_assessment + title: Investigator Assessment + description: Data obtained by examination, interview, etc. with investigator + participant_or_caregiver_report: + text: participant_or_caregiver_report + title: Participant or Caregiver Report + description: Data obtained from survey, questionnaire, etc. + other: + text: other + title: Other + unknown: + text: unknown + title: Unknown + enum_DataCategory: #added to DataFile:DataCategory + name: enum_DataCategory + definition_uri: include:enum_DataCategory + permissible_values: + unharmonized_clinical: + text: unharmonized_clinical + title: Unharmonized Demographic/Clinical Data + harmonized_clinical: + text: harmonized_clinical + title: Harmonized Demographic/Clinical Data + genomics: + text: genomics + title: Genomics + transcriptomics: + text: transcriptomics + title: Transcriptomics + proteomics: + text: proteomics + title: Proteomics + metabolomics: + text: metabolomics + title: Metabolomics + cognitive_behavioral: + text: cognitive_behavioral + title: Cognitive/Behavioral + immune_maps: + text: immune_maps + title: Immune Maps + imaging: + text: imaging + title: Imaging + microbiome: + text: microbiome + title: Microbiome + enum_guidType: + name: enum_guidType + definition_uri: include:enum_guidType + permissible_values: + ndar: + text: NDAR + title: NDAR + description: GUID generated by NIMH Data Archive (NDA) GUID tool + other: + text: other + title: Other + description: GUID generated by other system + none: + text: none + title: none + description: No GUIDs used in this study \ No newline at end of file From d917a4f38a799bc3fef9efb397cd914f9c0cd66f Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 8 Mar 2024 12:53:46 -0800 Subject: [PATCH 04/17] added dataset slots --- src/linkml/include_study.yaml | 153 ++++++++++++++++++++++++++++++++-- 1 file changed, 146 insertions(+), 7 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 6b5a55cc..1349c82c 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -17,13 +17,13 @@ classes: name: Study definition_uri: include:Study annotations: - required: + required: #can this just be required:true? was this for schematic? tag: required value: 'True' description: General information about the study title: Study is_a: Thing - slots: #update with new slots + slots: - studyCode - studyName - program @@ -46,6 +46,39 @@ classes: - publication - expectedNumberOfParticipants - guidType + Dataset: + name: Dataset + definition_uri: include:Dataset + annotations: + required: + tag: required + value: 'True' #should this be False for now? + description: Information about a specific grouping of data files + title: Dataset + is_a: Thing + slots: #update with new slots + - hasStudy + - hasParticipant + #add hasDataset to Assay>DataFile? + - datasetName + - datasetGlobalId + - datasetExternalId + - expectedNumberOfFiles + - fileIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest + - expectedNumberOfParticipants #can you reuse slots? + - participantIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest + - dataCollectionStartYear + - dataCollectionEndYear + - dataCategory #can you reuse slots? + - dataType #can you reuse slots? + - experimentalStrategy #can you reuse slots? + - experimentalPlatform #can you reuse slots? + - accessLimitations + - accessRequirements + - dbGaP + - otherRepository + - otherAccessAuthority + slots: studyCode: definition_uri: include:studyCode @@ -149,16 +182,17 @@ slots: multivalued: true expectedDataCategory: definition_uri: include:expectedDataCategory - description: Funding source for the study - title: Expected category/categories of data collected in this study - range: enum_DataCategory #reuse enum for dataCategory in DataFile + description: Categories of data expected to be collected in this Study + title: Expected Data Category + range: enum_DataCategory required: true + multivalued: true studyWebsite: definition_uri: include:studyWebsite description: Website for the study title: Study Website range: uri - dbgap: + dbgap: #not sure if we need this - should be derived from Dataset dbGaP definition_uri: include:dbgap description: dbGaP study accession code title: dbGaP @@ -181,6 +215,111 @@ slots: title: GUID Type range: enum_guidType required: true + datasetName: + definition_uri: include:datasetName + description: Full name of the dataset, provided by contributor + title: Dataset Name + range: string + required: true + datasetGlobalId: + definition_uri: include:datasetGlobalId + description: Unique Global ID for dataset, generated by DCC + title: Dataset Global ID + range: string + required: false #update to true when this is figured out + datasetExternalId: + definition_uri: include:datasetExternalId + description: Unique identifier or code for dataset, if provided by contributor + title: Dataset External ID + range: string + expectedNumberOfFiles: + definition_uri: include:expectedNumberOfFiles + description: Expected number of files associated with this dataset + title: Expected Number of Files + range: integer + required: false #update to true when this is figured out + fileIdList: + definition_uri: include:fileIdList + description: Global IDs for files associated with this dataset. Should include one or more dictionary files that provide definitions for every field in every file + title: File ID List + range: string + multivalued: true + required: false #not sure if we need this - update to true when this is figured out + expectedNumberOfParticipants: + definition_uri: include:expectedNumberOfParticipants + description: Expected number of participants in this dataset + title: Expected Number of Participants + range: integer + required: true + participantIdList: + definition_uri: include:participantIdList + description: Global IDs for Participants associated with this dataset + title: Participant ID List + range: string + multivalued: true + required: false #not sure if we need this - update to true when this is figured out + dataCollectionStartYear: + definition_uri: include:dataCollectionStartYear + description: Year that data collection started + title: Data Collection Start Year + range: integer #is there a range for "year"? + required: true + dataCollectionEndYear: + definition_uri: include:dataCollectionEndYear + description: Year that data collection ended + title: Data Collection End Year + range: integer #is there a range for "year"? + required: false + dataCategory: #do I need to define again if I want a different description? + definition_uri: include:dataCategory + description: General category of data in file (e.g. Clinical, Genomics, Proteomics, + Metabolomics, Immune profiling, Transcriptomics) + title: Data Category + required: true + range: enum_DataCategory + dataType: #do I need to define again if I want a different description? + definition_uri: include:dataType + description: Specific type of data contained in file (e.g. Preprocessed metabolite relative abundance, Absolute protein concentration, Aligned reads, Simple nucleotide variations, GVCF, Gene expression quantifications, Gene fusions, Somatic copy number variations, Somatic structural variations) + title: Data Type + range: string + experimentalStrategy: #do I need to define again if I want a different description? + definition_uri: include:experimentalStrategy + description: Experimental method used to obtain data in file (e.g. Whole genome sequencing, RNAseq, Multiplex immunoassay, Mass spec metabolomics) + title: Experimental Strategy + range: string + experimentalPlatform: #do I need to define again if I want a different description? + definition_uri: include:experimentalPlatform + description: Specific platform used to perform experiment (e.g. SOMAscan, MSD, Luminex, Illumina) + title: Experimental Platform + range: string + accessLimitations: + definition_uri: include:accessLimitations + description: Data access limitations, as defined in the GA4GH Data Use Ontology (DUO; can list more than one, pipe separated) + title: Access Limitations + range: string + required: false #make true when we have enums + accessRequirements: + definition_uri: include:accessRequirements + description: Data access requirements, as defined in the GA4GH Data Use Ontology (DUO; can list more than one, pipe separated) + title: Access Requirements + range: string + required: false #make true when we have enums + dbgap: #do i need to define again if changing description? + definition_uri: include:dbgap + description: dbGaP study accession code, if applicable + title: dbGaP + range: string + otherRepository: + definition_uri: include:otherRepository + description: URL if Study data is already deposited in a public repository other than dbGaP (e.g. LONI, Metabolomics Workbench, etc.) + title: Other Repository + range: uri + otherAccessAuthority: + definition_uri: include:otherAccessAuthority + description: Email or URL for dataset's Access Authority, if not dbGaP + title: Other Access Authority + range: string + enums: enum_program: name: enum_program @@ -347,7 +486,7 @@ enums: unknown: text: unknown title: Unknown - enum_DataCategory: #added to DataFile:DataCategory + enum_DataCategory: name: enum_DataCategory definition_uri: include:enum_DataCategory permissible_values: From dadc6b51d2c3ebc39f79d8b13b7f2a7e61f4ad91 Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 15 Mar 2024 13:41:06 -0700 Subject: [PATCH 05/17] study & dataset updates --- src/linkml/include_study.yaml | 63 ++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 1349c82c..4c9f13ac 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -10,6 +10,7 @@ prefixes: imports: - linkml:types - include_core +- include_assay default_curi_maps: - semweb_context classes: @@ -25,7 +26,7 @@ classes: is_a: Thing slots: - studyCode - - studyName + - studyTitle - program - studyDescription - principalInvestigatorName @@ -40,11 +41,11 @@ classes: - selectionCriteria - studyDesign - clinicalDataSourceType - - expectedDataCategory + - expectedDataCategory #update below - studyWebsite - - dbgap + - dbgap #delete? - publication - - expectedNumberOfParticipants + - studyExpectedNumberOfParticipants #update below - guidType Dataset: name: Dataset @@ -52,11 +53,11 @@ classes: annotations: required: tag: required - value: 'True' #should this be False for now? + value: 'False' #change to True if needed later description: Information about a specific grouping of data files title: Dataset is_a: Thing - slots: #update with new slots + slots: - hasStudy - hasParticipant #add hasDataset to Assay>DataFile? @@ -65,17 +66,17 @@ classes: - datasetExternalId - expectedNumberOfFiles - fileIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest - - expectedNumberOfParticipants #can you reuse slots? + - datasetExpectedNumberOfParticipants #update below - participantIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest - dataCollectionStartYear - dataCollectionEndYear - - dataCategory #can you reuse slots? - - dataType #can you reuse slots? - - experimentalStrategy #can you reuse slots? - - experimentalPlatform #can you reuse slots? + - datasetDataCategory #update below + - include_assay:dataType #can't reuse because validation will look for Assay data and we won't usually have it + - datasetExperimentalStrategy #update below + - datasetExperimentalPlatform #update below - accessLimitations - accessRequirements - - dbGaP + - dbgap #update spelling below; delete from Study and only in Dataset - portal should aggregate in Study - ask JP - otherRepository - otherAccessAuthority @@ -98,6 +99,7 @@ slots: title: Program range: enum_program required: true + multivalued: true studyDescription: definition_uri: include:studyDescription description: Brief description of the study (2-4 sentences). Should match description in https://includedcc.org/studies. @@ -244,7 +246,7 @@ slots: title: File ID List range: string multivalued: true - required: false #not sure if we need this - update to true when this is figured out + required: false #should be derived from dataFile if omics expectedNumberOfParticipants: definition_uri: include:expectedNumberOfParticipants description: Expected number of participants in this dataset @@ -262,18 +264,17 @@ slots: definition_uri: include:dataCollectionStartYear description: Year that data collection started title: Data Collection Start Year - range: integer #is there a range for "year"? + range: integer required: true dataCollectionEndYear: definition_uri: include:dataCollectionEndYear description: Year that data collection ended title: Data Collection End Year - range: integer #is there a range for "year"? + range: integer required: false - dataCategory: #do I need to define again if I want a different description? + dataCategory: #reused from DataFile with slightly different description definition_uri: include:dataCategory - description: General category of data in file (e.g. Clinical, Genomics, Proteomics, - Metabolomics, Immune profiling, Transcriptomics) + description: General category of data in dataset title: Data Category required: true range: enum_DataCategory @@ -335,8 +336,8 @@ enums: name: enum_studyCode definition_uri: include:enum_studyCode permissible_values: - abcds: - text: abcds + abc_ds: + text: abc_ds title: ABC-DS ads: text: ads @@ -417,10 +418,10 @@ enums: name: enum_researchDomain definition_uri: include:enum_researchDomain permissible_values: - behavior_and_mechanisms: - text: behavior_and_mechanisms + behavior_and_behavior_mechanisms: + text: behavior_and_behavior_mechanisms title: Behavior and Behavior Mechanisms - meaning: mesh:D001520 #is this how to format MeSH term? + meaning: mesh:D001520 congenital_heart_defects: text: congenital_heart_defects title: Congenital Heart Defects @@ -437,8 +438,8 @@ enums: text: sleep_wake_disorders title: Sleep Wake Disorders meaning: mesh:D012893 - all_coocurring_conditions: - text: all_cooccurring_conditions + all_co_occurring_conditions: + text: all_co_occurring_conditions title: All Co-occurring Conditions meaning: mesh:D013568 other: @@ -490,11 +491,11 @@ enums: name: enum_DataCategory definition_uri: include:enum_DataCategory permissible_values: - unharmonized_clinical: - text: unharmonized_clinical + unharmonized_demographic_clinical_data: + text: unharmonized_demographic_clinical_data title: Unharmonized Demographic/Clinical Data - harmonized_clinical: - text: harmonized_clinical + harmonized_demographic_clinical_data: + text: harmonized_demographic_clinical_data title: Harmonized Demographic/Clinical Data genomics: text: genomics @@ -525,7 +526,7 @@ enums: definition_uri: include:enum_guidType permissible_values: ndar: - text: NDAR + text: ndar title: NDAR description: GUID generated by NIMH Data Archive (NDA) GUID tool other: @@ -534,5 +535,5 @@ enums: description: GUID generated by other system none: text: none - title: none + title: None description: No GUIDs used in this study \ No newline at end of file From 711b20f1a7afcb8df36198ea5ef9078944504cfd Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 15 Mar 2024 13:48:30 -0700 Subject: [PATCH 06/17] changes --- src/linkml/include_study.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 4c9f13ac..abcf67ac 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -194,19 +194,19 @@ slots: description: Website for the study title: Study Website range: uri - dbgap: #not sure if we need this - should be derived from Dataset dbGaP - definition_uri: include:dbgap - description: dbGaP study accession code - title: dbGaP - range: string +# dbgap: #not sure if we need this - should be derived from Dataset dbGaP +# definition_uri: include:dbgap +# description: dbGaP study accession code +# title: dbGaP +# range: string publication: definition_uri: include:publication description: URL for publication(s) describing the study's rationale and methodology (PubMed Central preferred but not required; pipe-separated if multiple) title: Publication range: uri multivalued: true - expectedNumberOfParticipants: - definition_uri: include:expectedNumberOfParticipants + studyExpectedNumberOfParticipants: + definition_uri: include:studyExpectedNumberOfParticipants description: Expected number of participants in this study title: Expected Number of Participants range: integer @@ -247,8 +247,8 @@ slots: range: string multivalued: true required: false #should be derived from dataFile if omics - expectedNumberOfParticipants: - definition_uri: include:expectedNumberOfParticipants + datasetExpectedNumberOfParticipants: + definition_uri: include:datasetExpectedNumberOfParticipants description: Expected number of participants in this dataset title: Expected Number of Participants range: integer From 29f385bb42e172c22d1e0656e275a265138f6b87 Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 15 Mar 2024 13:51:30 -0700 Subject: [PATCH 07/17] . --- src/linkml/include_study.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index abcf67ac..8981d1d8 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -59,7 +59,7 @@ classes: is_a: Thing slots: - hasStudy - - hasParticipant +# - hasParticipant #add hasDataset to Assay>DataFile? - datasetName - datasetGlobalId @@ -71,7 +71,7 @@ classes: - dataCollectionStartYear - dataCollectionEndYear - datasetDataCategory #update below - - include_assay:dataType #can't reuse because validation will look for Assay data and we won't usually have it + - datasetDataType #can't reuse because validation will look for Assay data and we won't usually have it - datasetExperimentalStrategy #update below - datasetExperimentalPlatform #update below - accessLimitations @@ -272,23 +272,23 @@ slots: title: Data Collection End Year range: integer required: false - dataCategory: #reused from DataFile with slightly different description + datasetDataCategory: #reused from DataFile with slightly different description definition_uri: include:dataCategory description: General category of data in dataset title: Data Category required: true range: enum_DataCategory - dataType: #do I need to define again if I want a different description? + datasetDataType: #do I need to define again if I want a different description? definition_uri: include:dataType description: Specific type of data contained in file (e.g. Preprocessed metabolite relative abundance, Absolute protein concentration, Aligned reads, Simple nucleotide variations, GVCF, Gene expression quantifications, Gene fusions, Somatic copy number variations, Somatic structural variations) title: Data Type range: string - experimentalStrategy: #do I need to define again if I want a different description? + datasetExperimentalStrategy: #do I need to define again if I want a different description? definition_uri: include:experimentalStrategy description: Experimental method used to obtain data in file (e.g. Whole genome sequencing, RNAseq, Multiplex immunoassay, Mass spec metabolomics) title: Experimental Strategy range: string - experimentalPlatform: #do I need to define again if I want a different description? + datasetExperimentalPlatform: #do I need to define again if I want a different description? definition_uri: include:experimentalPlatform description: Specific platform used to perform experiment (e.g. SOMAscan, MSD, Luminex, Illumina) title: Experimental Platform From 673733450efbd5d856d5046f055f3535da7e8f28 Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 15 Mar 2024 13:57:11 -0700 Subject: [PATCH 08/17] . --- src/linkml/include_study.yaml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 8981d1d8..71f132db 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -43,8 +43,8 @@ classes: - clinicalDataSourceType - expectedDataCategory #update below - studyWebsite - - dbgap #delete? - - publication +# - dbgap #delete? + - studyPublication - studyExpectedNumberOfParticipants #update below - guidType Dataset: @@ -74,6 +74,7 @@ classes: - datasetDataType #can't reuse because validation will look for Assay data and we won't usually have it - datasetExperimentalStrategy #update below - datasetExperimentalPlatform #update below + - datasetPublication - accessLimitations - accessRequirements - dbgap #update spelling below; delete from Study and only in Dataset - portal should aggregate in Study - ask JP @@ -199,16 +200,16 @@ slots: # description: dbGaP study accession code # title: dbGaP # range: string - publication: - definition_uri: include:publication + studyPublication: + definition_uri: include:studyPublication description: URL for publication(s) describing the study's rationale and methodology (PubMed Central preferred but not required; pipe-separated if multiple) - title: Publication + title: Study Publication range: uri multivalued: true studyExpectedNumberOfParticipants: definition_uri: include:studyExpectedNumberOfParticipants description: Expected number of participants in this study - title: Expected Number of Participants + title: Study Expected Number of Participants range: integer required: true guidType: @@ -275,24 +276,30 @@ slots: datasetDataCategory: #reused from DataFile with slightly different description definition_uri: include:dataCategory description: General category of data in dataset - title: Data Category + title: Dataset Data Category required: true range: enum_DataCategory datasetDataType: #do I need to define again if I want a different description? definition_uri: include:dataType description: Specific type of data contained in file (e.g. Preprocessed metabolite relative abundance, Absolute protein concentration, Aligned reads, Simple nucleotide variations, GVCF, Gene expression quantifications, Gene fusions, Somatic copy number variations, Somatic structural variations) - title: Data Type + title: Dataset Data Type range: string datasetExperimentalStrategy: #do I need to define again if I want a different description? definition_uri: include:experimentalStrategy description: Experimental method used to obtain data in file (e.g. Whole genome sequencing, RNAseq, Multiplex immunoassay, Mass spec metabolomics) - title: Experimental Strategy + title: Dataset Experimental Strategy range: string datasetExperimentalPlatform: #do I need to define again if I want a different description? definition_uri: include:experimentalPlatform description: Specific platform used to perform experiment (e.g. SOMAscan, MSD, Luminex, Illumina) - title: Experimental Platform + title: Dataset Experimental Platform range: string + datasetPublication: + definition_uri: include:datasetPublication + description: URL for publication(s) describing the dataset's rationale and methodology (PubMed Central preferred but not required; pipe-separated if multiple) + title: Dataset Publication + range: uri + multivalued: true accessLimitations: definition_uri: include:accessLimitations description: Data access limitations, as defined in the GA4GH Data Use Ontology (DUO; can list more than one, pipe separated) From c6a644f31996b946f553a53dc1e7f166aa7897b1 Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 15 Mar 2024 14:13:52 -0700 Subject: [PATCH 09/17] . --- src/linkml/include_study.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 71f132db..5f74fc6a 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -540,7 +540,7 @@ enums: text: other title: Other description: GUID generated by other system - none: - text: none - title: None + no_guid: + text: no_guid + title: No GUID description: No GUIDs used in this study \ No newline at end of file From 61d01347937a92af6390bfbaa3e611f889cd462a Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 15 Mar 2024 14:55:18 -0700 Subject: [PATCH 10/17] more changes after meeting with madan --- src/linkml/include_study.yaml | 80 +++++++++++++++++------------------ 1 file changed, 39 insertions(+), 41 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 5f74fc6a..fb5aa94f 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -10,7 +10,6 @@ prefixes: imports: - linkml:types - include_core -- include_assay default_curi_maps: - semweb_context classes: @@ -18,7 +17,7 @@ classes: name: Study definition_uri: include:Study annotations: - required: #can this just be required:true? was this for schematic? + required: tag: required value: 'True' description: General information about the study @@ -41,11 +40,11 @@ classes: - selectionCriteria - studyDesign - clinicalDataSourceType - - expectedDataCategory #update below + - expectedDataCategory - studyWebsite -# - dbgap #delete? +# - dbgap - studyPublication - - studyExpectedNumberOfParticipants #update below + - studyExpectedNumberOfParticipants - guidType Dataset: name: Dataset @@ -59,25 +58,24 @@ classes: is_a: Thing slots: - hasStudy -# - hasParticipant #add hasDataset to Assay>DataFile? - datasetName - datasetGlobalId - datasetExternalId - expectedNumberOfFiles - - fileIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest - - datasetExpectedNumberOfParticipants #update below - - participantIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest +# - fileIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest + - datasetExpectedNumberOfParticipants +# - participantIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest - dataCollectionStartYear - dataCollectionEndYear - - datasetDataCategory #update below - - datasetDataType #can't reuse because validation will look for Assay data and we won't usually have it - - datasetExperimentalStrategy #update below - - datasetExperimentalPlatform #update below + - datasetDataCategory + - datasetDataType + - datasetExperimentalStrategy + - datasetExperimentalPlatform - datasetPublication - accessLimitations - accessRequirements - - dbgap #update spelling below; delete from Study and only in Dataset - portal should aggregate in Study - ask JP + - dbgap - otherRepository - otherAccessAuthority @@ -195,7 +193,7 @@ slots: description: Website for the study title: Study Website range: uri -# dbgap: #not sure if we need this - should be derived from Dataset dbGaP +# dbgap: #should be derived from Dataset dbGaP # definition_uri: include:dbgap # description: dbGaP study accession code # title: dbGaP @@ -241,59 +239,59 @@ slots: title: Expected Number of Files range: integer required: false #update to true when this is figured out - fileIdList: - definition_uri: include:fileIdList - description: Global IDs for files associated with this dataset. Should include one or more dictionary files that provide definitions for every field in every file - title: File ID List - range: string - multivalued: true - required: false #should be derived from dataFile if omics + # fileIdList: + # definition_uri: include:fileIdList + # description: Global IDs for files associated with this dataset. Should include one or more dictionary files that provide definitions for every field in every file + # title: File ID List + # range: string + # multivalued: true + # required: false #should be derived from dataFile if omics datasetExpectedNumberOfParticipants: definition_uri: include:datasetExpectedNumberOfParticipants description: Expected number of participants in this dataset - title: Expected Number of Participants + title: Dataset Expected Number of Participants range: integer required: true - participantIdList: - definition_uri: include:participantIdList - description: Global IDs for Participants associated with this dataset - title: Participant ID List - range: string - multivalued: true - required: false #not sure if we need this - update to true when this is figured out + # participantIdList: + # definition_uri: include:participantIdList + # description: Global IDs for Participants associated with this dataset + # title: Participant ID List + # range: string + # multivalued: true + # required: false #not sure if we need this - update to true when this is figured out dataCollectionStartYear: definition_uri: include:dataCollectionStartYear description: Year that data collection started title: Data Collection Start Year range: integer - required: true + required: false #change to true when we have for all studies dataCollectionEndYear: definition_uri: include:dataCollectionEndYear description: Year that data collection ended title: Data Collection End Year range: integer required: false - datasetDataCategory: #reused from DataFile with slightly different description + datasetDataCategory: definition_uri: include:dataCategory description: General category of data in dataset title: Dataset Data Category required: true range: enum_DataCategory - datasetDataType: #do I need to define again if I want a different description? + datasetDataType: definition_uri: include:dataType - description: Specific type of data contained in file (e.g. Preprocessed metabolite relative abundance, Absolute protein concentration, Aligned reads, Simple nucleotide variations, GVCF, Gene expression quantifications, Gene fusions, Somatic copy number variations, Somatic structural variations) + description: Specific type of data contained in dataset (e.g. Preprocessed metabolite relative abundance, Absolute protein concentration, Aligned reads, Simple nucleotide variations, GVCF, Gene expression quantifications, Gene fusions, Somatic copy number variations, Somatic structural variations) title: Dataset Data Type - range: string - datasetExperimentalStrategy: #do I need to define again if I want a different description? + range: string #eventually share enum with dataFile + datasetExperimentalStrategy: definition_uri: include:experimentalStrategy - description: Experimental method used to obtain data in file (e.g. Whole genome sequencing, RNAseq, Multiplex immunoassay, Mass spec metabolomics) + description: Experimental method used to obtain data in dataset (e.g. Whole genome sequencing, RNAseq, Multiplex immunoassay, Mass spec metabolomics) title: Dataset Experimental Strategy - range: string - datasetExperimentalPlatform: #do I need to define again if I want a different description? + range: string #eventually share enum with dataFile + datasetExperimentalPlatform: definition_uri: include:experimentalPlatform description: Specific platform used to perform experiment (e.g. SOMAscan, MSD, Luminex, Illumina) title: Dataset Experimental Platform - range: string + range: string #eventually share enum with dataFile datasetPublication: definition_uri: include:datasetPublication description: URL for publication(s) describing the dataset's rationale and methodology (PubMed Central preferred but not required; pipe-separated if multiple) @@ -319,7 +317,7 @@ slots: range: string otherRepository: definition_uri: include:otherRepository - description: URL if Study data is already deposited in a public repository other than dbGaP (e.g. LONI, Metabolomics Workbench, etc.) + description: URL if dataset is already deposited in a public repository other than dbGaP (e.g. LONI, Metabolomics Workbench, etc.) title: Other Repository range: uri otherAccessAuthority: From 9fe6dcada70fb1c082e684088dc33d65faf18ab5 Mon Sep 17 00:00:00 2001 From: lopierra Date: Fri, 15 Mar 2024 15:08:16 -0700 Subject: [PATCH 11/17] more changes after meeting with madan --- src/linkml/include_study.yaml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index fb5aa94f..3d1b83f3 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -62,10 +62,10 @@ classes: - datasetName - datasetGlobalId - datasetExternalId - - expectedNumberOfFiles -# - fileIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest - datasetExpectedNumberOfParticipants # - participantIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest + - expectedNumberOfFiles +# - fileIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest - dataCollectionStartYear - dataCollectionEndYear - datasetDataCategory @@ -136,17 +136,17 @@ slots: vbrEmail: definition_uri: include:vbrEmail description: Email address for Virtual Biorepository requests/inquiries - title: Virtual Biorepository Email + title: VBR Email range: string vbrUrl: definition_uri: include:vbrUrl description: Link to Virtual Biorepository request form - title: Virtual Biorepository URL + title: VBR URL range: uri vbrReadme: definition_uri: include:vbrReadme description: Instructions for contacting or requesting samples from Virtual Biorepository - title: Virtual Biorepository Readme + title: VBR Readme range: string researchDomain: definition_uri: include:researchDomain @@ -233,12 +233,6 @@ slots: description: Unique identifier or code for dataset, if provided by contributor title: Dataset External ID range: string - expectedNumberOfFiles: - definition_uri: include:expectedNumberOfFiles - description: Expected number of files associated with this dataset - title: Expected Number of Files - range: integer - required: false #update to true when this is figured out # fileIdList: # definition_uri: include:fileIdList # description: Global IDs for files associated with this dataset. Should include one or more dictionary files that provide definitions for every field in every file @@ -252,6 +246,12 @@ slots: title: Dataset Expected Number of Participants range: integer required: true + expectedNumberOfFiles: + definition_uri: include:expectedNumberOfFiles + description: Expected number of files associated with this dataset + title: Expected Number of Files + range: integer + required: false #update to true when this is figured out # participantIdList: # definition_uri: include:participantIdList # description: Global IDs for Participants associated with this dataset From 4a8ddcd0dd13e361840b01d97814f08b04e1b047 Mon Sep 17 00:00:00 2001 From: lopierra Date: Mon, 18 Mar 2024 11:39:18 -0700 Subject: [PATCH 12/17] . --- src/linkml/include_study.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 3d1b83f3..cfbabf67 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -263,13 +263,13 @@ slots: definition_uri: include:dataCollectionStartYear description: Year that data collection started title: Data Collection Start Year - range: integer + pattern: "^1|2\d\d\d$|nan" required: false #change to true when we have for all studies dataCollectionEndYear: definition_uri: include:dataCollectionEndYear description: Year that data collection ended title: Data Collection End Year - range: integer + pattern: "^1|2\d\d\d$|nan" required: false datasetDataCategory: definition_uri: include:dataCategory From 53a8705ccb4446020a2d60f5685ac53cbda387da Mon Sep 17 00:00:00 2001 From: lopierra Date: Mon, 18 Mar 2024 11:43:35 -0700 Subject: [PATCH 13/17] . --- src/linkml/include_study.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index cfbabf67..34560d6f 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -263,13 +263,13 @@ slots: definition_uri: include:dataCollectionStartYear description: Year that data collection started title: Data Collection Start Year - pattern: "^1|2\d\d\d$|nan" + pattern: "^1|2\\d(3)$|nan" required: false #change to true when we have for all studies dataCollectionEndYear: definition_uri: include:dataCollectionEndYear description: Year that data collection ended title: Data Collection End Year - pattern: "^1|2\d\d\d$|nan" + pattern: "^1|2\\d(3)$|nan" required: false datasetDataCategory: definition_uri: include:dataCategory From 1bbb40e3848003ddf126bb4e7464625507dc49e3 Mon Sep 17 00:00:00 2001 From: lopierra Date: Wed, 20 Mar 2024 10:47:25 -0700 Subject: [PATCH 14/17] dbgap --- src/linkml/include_study.yaml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index 34560d6f..fdaea072 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -42,7 +42,7 @@ classes: - clinicalDataSourceType - expectedDataCategory - studyWebsite -# - dbgap + - studyDbgap - studyPublication - studyExpectedNumberOfParticipants - guidType @@ -52,7 +52,7 @@ classes: annotations: required: tag: required - value: 'False' #change to True if needed later + value: 'False' #may change to True later description: Information about a specific grouping of data files title: Dataset is_a: Thing @@ -63,9 +63,8 @@ classes: - datasetGlobalId - datasetExternalId - datasetExpectedNumberOfParticipants -# - participantIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest - expectedNumberOfFiles -# - fileIdList #not sure if this should be in the model - might be derived in portal or listed in separate manifest +# - fileIdList #TBD - may make this into a separate manifest - dataCollectionStartYear - dataCollectionEndYear - datasetDataCategory @@ -75,7 +74,7 @@ classes: - datasetPublication - accessLimitations - accessRequirements - - dbgap + - datasetDbgap - otherRepository - otherAccessAuthority @@ -216,6 +215,12 @@ slots: title: GUID Type range: enum_guidType required: true + studyDbgap: + definition_uri: include:studyDbgap + description: dbGaP code(s) associated with this Study, either for access or informational purposes (pipe-separated if multiple) + title: Study dbGaP + range: string + multivalued: true datasetName: definition_uri: include:datasetName description: Full name of the dataset, provided by contributor @@ -310,11 +315,12 @@ slots: title: Access Requirements range: string required: false #make true when we have enums - dbgap: #do i need to define again if changing description? - definition_uri: include:dbgap - description: dbGaP study accession code, if applicable - title: dbGaP + datasetDbgap: + definition_uri: include:datasetDbgap + description: dbGaP code(s) required to access the files in this Dataset, if applicable (pipe-separated if multiple) + title: Dataset dbGaP range: string + multivalued: true otherRepository: definition_uri: include:otherRepository description: URL if dataset is already deposited in a public repository other than dbGaP (e.g. LONI, Metabolomics Workbench, etc.) From 24b4bfc37706678a853670c88d8aa42b9abda448 Mon Sep 17 00:00:00 2001 From: lopierra Date: Wed, 20 Mar 2024 11:16:55 -0700 Subject: [PATCH 15/17] add Other to program enum --- src/linkml/include_study.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index fdaea072..b95b0d90 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -93,7 +93,7 @@ slots: range: string program: definition_uri: include:program - description: Funding source for the study + description: Funding source(s) for the study (pipe-separated if multiple) title: Program range: enum_program required: true @@ -343,6 +343,9 @@ enums: kf: text: kf title: KF + other: + text: other + title: Other enum_studyCode: name: enum_studyCode definition_uri: include:enum_studyCode From 9b6a97c0eaa06ee834968a80f39d9ca21401b816 Mon Sep 17 00:00:00 2001 From: lopierra Date: Wed, 20 Mar 2024 11:31:22 -0700 Subject: [PATCH 16/17] updated descriptions & enums --- src/linkml/include_study.yaml | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index b95b0d90..f57a22b6 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -149,14 +149,14 @@ slots: range: string researchDomain: definition_uri: include:researchDomain - description: Main research domain(s) of your study, other than Down syndrome; pipe-separated if multiple + description: Main research domain(s) of the study, other than Down syndrome; pipe-separated if multiple title: Research Domain range: enum_researchDomain required: true multivalued: true participantLifespanStage: definition_uri: include:participantLifespanStage - description: Focus age group(s) of your study population; pipe-separated if multiple + description: Focus age group(s) of the study population; pipe-separated if multiple title: Participant Lifespan Stage range: enum_participantLifespanStage required: true @@ -168,13 +168,13 @@ slots: range: string studyDesign: definition_uri: include:studyDesign - description: Overall design of study + description: Overall design of study, including whether it is longitudinal and whether family members/unrelated controls are also enrolled title: Study Design range: string required: true clinicalDataSourceType: definition_uri: include:clinicalDataSourceType - description: Source(s) of data collected from study participants + description: Source(s) of data collected from study participants; pipe-separated if multiple title: Clinical Data Source Type range: enum_clinicalDataSourceType #TODO: replace enum_conditionDataSource with this - or consider deleting slot conditionDataSource @@ -182,7 +182,7 @@ slots: multivalued: true expectedDataCategory: definition_uri: include:expectedDataCategory - description: Categories of data expected to be collected in this Study + description: Categories of data expected to be collected in this study title: Expected Data Category range: enum_DataCategory required: true @@ -192,11 +192,6 @@ slots: description: Website for the study title: Study Website range: uri -# dbgap: #should be derived from Dataset dbGaP -# definition_uri: include:dbgap -# description: dbGaP study accession code -# title: dbGaP -# range: string studyPublication: definition_uri: include:studyPublication description: URL for publication(s) describing the study's rationale and methodology (PubMed Central preferred but not required; pipe-separated if multiple) @@ -217,7 +212,7 @@ slots: required: true studyDbgap: definition_uri: include:studyDbgap - description: dbGaP code(s) associated with this Study, either for access or informational purposes (pipe-separated if multiple) + description: dbGaP "phs" accession code(s) associated with this Study, either for access or informational purposes (pipe-separated if multiple) title: Study dbGaP range: string multivalued: true @@ -278,23 +273,23 @@ slots: required: false datasetDataCategory: definition_uri: include:dataCategory - description: General category of data in dataset + description: General category of data in dataset; pipe-separated if multiple title: Dataset Data Category required: true range: enum_DataCategory datasetDataType: definition_uri: include:dataType - description: Specific type of data contained in dataset (e.g. Preprocessed metabolite relative abundance, Absolute protein concentration, Aligned reads, Simple nucleotide variations, GVCF, Gene expression quantifications, Gene fusions, Somatic copy number variations, Somatic structural variations) + description: Specific type of data contained in dataset; pipe-separated if multiple (e.g. Preprocessed metabolite relative abundance, Absolute protein concentration, Aligned reads, Simple nucleotide variations, GVCF, Gene expression quantifications, Gene fusions, Somatic copy number variations, Somatic structural variations) title: Dataset Data Type range: string #eventually share enum with dataFile datasetExperimentalStrategy: definition_uri: include:experimentalStrategy - description: Experimental method used to obtain data in dataset (e.g. Whole genome sequencing, RNAseq, Multiplex immunoassay, Mass spec metabolomics) + description: Experimental method used to obtain data in dataset; pipe-separated if multiple (e.g. Whole genome sequencing, RNAseq, Multiplex immunoassay, Mass spec metabolomics) title: Dataset Experimental Strategy range: string #eventually share enum with dataFile datasetExperimentalPlatform: definition_uri: include:experimentalPlatform - description: Specific platform used to perform experiment (e.g. SOMAscan, MSD, Luminex, Illumina) + description: Specific platform used to perform experiment; pipe-separated if multiple (e.g. SOMAscan, MSD, Luminex, Illumina) title: Dataset Experimental Platform range: string #eventually share enum with dataFile datasetPublication: @@ -317,7 +312,7 @@ slots: required: false #make true when we have enums datasetDbgap: definition_uri: include:datasetDbgap - description: dbGaP code(s) required to access the files in this Dataset, if applicable (pipe-separated if multiple) + description: dbGaP "phs" accession code(s) required to access the files in this Dataset, if applicable (pipe-separated if multiple) title: Dataset dbGaP range: string multivalued: true @@ -535,6 +530,9 @@ enums: microbiome: text: microbiome title: Microbiome + other: + text: other + title: Other enum_guidType: name: enum_guidType definition_uri: include:enum_guidType From db7135019b954e22a629d080d8d7a4f7f9a9f8b4 Mon Sep 17 00:00:00 2001 From: madanucd Date: Fri, 22 Mar 2024 12:35:00 -0400 Subject: [PATCH 17/17] mesh prefix --- src/linkml/include_study.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/linkml/include_study.yaml b/src/linkml/include_study.yaml index f57a22b6..3e0ad248 100644 --- a/src/linkml/include_study.yaml +++ b/src/linkml/include_study.yaml @@ -7,6 +7,9 @@ prefixes: linkml: prefix_prefix: linkml prefix_reference: https://w3id.org/linkml/ + mesh: + prefix_prefix: mesh + prefix_reference: http://id.nlm.nih.gov/mesh/ imports: - linkml:types - include_core