diff --git a/src/common_access_model/schema/common_access_model.yaml b/src/common_access_model/schema/common_access_model.yaml index 61919d10..a1a98d6a 100644 --- a/src/common_access_model/schema/common_access_model.yaml +++ b/src/common_access_model/schema/common_access_model.yaml @@ -29,6 +29,7 @@ prefixes: NCBITaxon: http://purl.obolibrary.org/obo/NCBITaxon_ CAMO: https://github.com/include-dcc/camo/releases/latest/download/camo.owl# ucum: https://units-of-measurement.org/ + valuesets: https://w3id.org/valuesets/ default_prefix: cam default_range: string @@ -65,6 +66,17 @@ imports: - enums/EnumUnknownOther - enums/EnumVitalStatus + - enums/EnumAnalyteType + - enums/EnumLibraryStrand + - enums/EnumLibraryPrep + - enums/EnumLibrarySelection + - enums/EnumSequencingInstrument + - enums/EnumSequencingCenter + - enums/EnumSequencingPlatform + - enums/EnumSequencingStrategy + - enums/EnumReadGroupQualityScale + - enums/EnumReferenceGenome + types: ptGlobalID: uri: xsd:string @@ -662,6 +674,52 @@ classes: assay_type: required: true + + SequencingAssay: + title: Sequencing Experiment Assay + description: A sequencing experiment performed on a Biospecimen. + is_a: Assay + slots: + - sequencing_center_id + - library_name + - experiment_date + - experiment_strategy + - is_paired_end + - platform + - instrument_model + - total_reads + - is_adapter_trimmed + - adapter_sequencing # required if is_adapter_trimmed is false + - quality_scale + - reference_genome + - workflow_type + - workflow_tool + - workflow_version + - workflow_endpoint + - flow_cell + - lane_number + + GenomicsAssay: + title: WGS/WXS Assay + description: A whole genome or whole exome sequencing experiment performed on a Biospecimen. + is_a: SequencingAssay + slots: + - max_insert_size + - mean_insert_size + - mean_depth + - mean_read_length + - target_capture_kit + + TranscriptomicsAssay: + title: RNA Sequencing Assay + description: An RNA sequencing experiment performed on a Biospecimen. + is_a: SequencingAssay + slots: + - library_strand + - library_prep # is this equivalent to library_construction? + - library_selection + + Dataset: title: Dataset description: Set of files grouped together for release. @@ -1354,3 +1412,122 @@ slots: description: The date that data collection started. May include only a year. #TODO: We could re-evaluate these as dates, but that may be too implementation specific range: string + + +# Sequencing Assay slots + sequencing_center_id: + title: Sequencing Center ID + description: The unique identifier for the sequencing center that performed the assay. + range: EnumSequencingCenter + reference_genome: + title: Reference Genome + description: >- + The reference genome build this file is aligned to or was generated + against. + range: EnumReferenceGenome + workflow_endpoint: + title: Workflow Endpoint + description: The endpoint of the workflow that produced this file. (Kids First Dataservice field - worflow_endpoint) + range: string + workflow_type: + title: Workflow Type + description: >- + The type of workflow that produced this file. (Kids First + Dataservice field: worflow_type) + range: string + workflow_tool: + title: Workflow Tool + description: >- + The tool used by the workflow that produced this file. (Kids First + Dataservice field: worflow_tool) + range: string + workflow_version: + title: Workflow Version + description: The version of the workflow tool used to produce this file. + range: string + flow_cell: + title: Flow Cell + description: The flow cell identifier for this read group. + range: string + lane_number: + title: Lane Number + description: The lane number for this read group. + range: integer + quality_scale: + title: Quality Scale + description: The quality score scale used for this read group. + range: EnumReadGroupQualityScale + library_name: + title: Library Name + description: The name of the sequencing library. + range: string + experiment_date: + title: Experiment Date + description: The date the sequencing experiment was performed. + range: date + experiment_strategy: + title: Experiment Strategy + description: The sequencing strategy used. + range: EnumSequencingStrategy + library_strand: + title: Library Strand + description: The strandedness of the sequencing library. + range: EnumLibraryStrand + library_prep: + title: Library Prep + description: The library preparation method used. + range: EnumLibraryPrep + library_selection: + title: Library Selection + description: The library selection method used. + range: EnumLibrarySelection + is_paired_end: + title: Is Paired End + description: Whether the sequencing reads are paired-end. + range: boolean + platform: + title: Platform + description: The sequencing platform used. + range: EnumSequencingPlatform + instrument_model: + title: Instrument Model + description: The sequencing instrument model used. + range: EnumSequencingInstrument + max_insert_size: + title: Max Insert Size + description: The maximum insert size, in base pairs. + range: integer + mean_insert_size: + title: Mean Insert Size + description: The mean insert size, in base pairs. + range: float + mean_depth: + title: Mean Depth + description: The mean sequencing depth of coverage. + range: float + total_reads: + title: Total Reads + description: The total number of reads generated. + range: integer + mean_read_length: + title: Mean Read Length + description: The mean read length, in base pairs. + range: integer + target_capture_kit: + title: Target Capture Kit + description: The target capture kit used, if any. + range: string + read_pair_number: + title: Read Pair Number + description: >- + The read pair number (1 or 2) for this read group, for paired-end + sequencing. + range: integer + is_adapter_trimmed: + title: Is Adapter Trimmed + description: Whether adapter sequences were trimmed. + range: boolean + adapter_sequencing: + title: Adapter Sequence + description: The adapter sequence used, if known. + range: string \ No newline at end of file diff --git a/src/common_access_model/schema/enums/EnumAnalyteType.yaml b/src/common_access_model/schema/enums/EnumAnalyteType.yaml new file mode 100644 index 00000000..d67443c0 --- /dev/null +++ b/src/common_access_model/schema/enums/EnumAnalyteType.yaml @@ -0,0 +1,16 @@ +id: https://includedcc.org/common-access-model/EnumAnalyteType +name: EnumAnalyteType +enums: + EnumAnalyteType: + description: The type of analyte that was extracted from the biospecimen. + reachable_from: + source_ontology: bioregistry:ncit + permissible_values: + C449: + title: DNA + description: A long linear double-stranded polymer formed from nucleotides attached to a deoxyribose backbone and found in the nucleus of a cell; associated with the transmission of genetic information. + meaning: C449 + C812: + title: RNA + description: Single-stranded long chain of nucleotides containing ribose. + meaning: C812 \ No newline at end of file diff --git a/src/common_access_model/schema/enums/EnumLibraryPrep.yaml b/src/common_access_model/schema/enums/EnumLibraryPrep.yaml new file mode 100644 index 00000000..dcbd5480 --- /dev/null +++ b/src/common_access_model/schema/enums/EnumLibraryPrep.yaml @@ -0,0 +1,17 @@ +--- +id: https://includedcc.org/common-access-model/EnumLibraryPrep +name: EnumLibraryPrep +enums: + EnumLibraryPrep: + description: + reachable_from: + source_ontology: bioregistry:obi + permissible_values: + OBI:0000848: + title: polyA RNA extraction + description: A RNA extraction process typically involving the use of poly dT oligomers in which the desired output material is polyA RNA. + meaning: OBI:0000848 + OBI:0000855: + title: total RNA depletion + description: A RNA extraction process in which total cellular and organelle RNA are extracted. + meaning: OBI:0000855 \ No newline at end of file diff --git a/src/common_access_model/schema/enums/EnumLibrarySelection.yaml b/src/common_access_model/schema/enums/EnumLibrarySelection.yaml new file mode 100644 index 00000000..4951aab7 --- /dev/null +++ b/src/common_access_model/schema/enums/EnumLibrarySelection.yaml @@ -0,0 +1,37 @@ +--- +id: https://includedcc.org/common-access-model/EnumLibrarySelection +name: EnumLibrarySelection +enums: + EnumLibrarySelection: + description: + reachable_from: + source_ontology: bioregistry:ncit + permissible_values: + C163986: + title: Hybrid Selection + description: A genomic library where the sample has been subjected to enrichment via nucleic acid hybridization. + meaning: C163986 + C17003: + title: PCR + description: A method for amplifying a DNA base sequence using multiple rounds of heat denaturation of the DNA and annealing of oligonucleotide primers complementary to flanking regions in the presence of a heat-stable polymerase + meaning: C17003 + C163987: + title: Affinity Enrichment + description: A genomic library where the sample has been subjected to enrichment via binding to a target protein or oligonucleotide prior to molecular analysis. + meaning: C163987 + C163988: + title: Poly-T Enrichment + description: A genomic library where the sample has been subjected to enrichment via binding to immobilized poly-T oligonucleotides, which will preferentially isolate polyadenylated (poly-A) RNAs. + meaning: C163988 + C163989: + title: Random + description: A genomic library constructed to generate random DNA fragments by subjecting a genomic sample to either amplification using random primers or fragmentation via exposure to restriction enzymes or shear stress. + meaning: C163989 + C163990: + title: rRNA Depletion + description: A genomic library where the sample has been subjected to a ribosomal RNA depletion step before it is amplified. + meaning: C163990 + C163991: + title: miRNA Size Fractionation + description: A RNA library that has been fractionated by size exclusion methods to enrich for microRNAs. + meaning: C163991 \ No newline at end of file diff --git a/src/common_access_model/schema/enums/EnumLibraryStrand.yaml b/src/common_access_model/schema/enums/EnumLibraryStrand.yaml new file mode 100644 index 00000000..7d2464c6 --- /dev/null +++ b/src/common_access_model/schema/enums/EnumLibraryStrand.yaml @@ -0,0 +1,22 @@ +id: https://includedcc.org/common-access-model/EnumLibraryStrand +name: EnumLibraryStrand +enums: + EnumLibraryStrand: + title: Library Strand + description: >- + Sequencing library strandedness, indicating whether the library is single-stranded, double-stranded, or unstranded. + reachable_from: + source_ontology: bioregistry:ncit + permissible_values: + C150427: + title: Unstranded Library Sequencing + description: Non-directional sequencing, where the reads can map from either the transcript strand or its complement. + meaning: C150427 + C150428: + title: First-strand Library Sequencing + description: Directional sequencing, where the first read (or the only read in case of single end reads) is from the complement strand. + meaning: C150428 + C150426: + title: Second-strand Library Sequencing + description: Directional sequencing, where the first read of the read pair (or in case of single end reads, the only read) is from the transcript strand. + meaning: C150426 \ No newline at end of file diff --git a/src/common_access_model/schema/enums/EnumReadGroupQualityScale.yaml b/src/common_access_model/schema/enums/EnumReadGroupQualityScale.yaml new file mode 100644 index 00000000..db6de563 --- /dev/null +++ b/src/common_access_model/schema/enums/EnumReadGroupQualityScale.yaml @@ -0,0 +1,37 @@ +--- +id: https://includedcc.org/common-access-model/EnumReadGroupQualityScale +name: EnumReadGroupQualityScale +enums: + EnumReadGroupQualityScale: + title: Read Group Quality Scale + description: Quality score encoding used in FASTQ files, from the LinkML valuesets + SequenceQualityEncoding. + reachable_from: + source_ontology: linkml:valuesets + source_nodes: + - SequenceQualityEncoding + include_self: false + is_direct: false + relationship_types: + - rdfs:subClassOf + permissible_values: + ILLUMINA_1:3: + title: ILLUMINA_1_3 + description: Illumina 1.3+ (PHRED+64, ASCII offset 64) + meaning: ILLUMINA_1:3 + ILLUMINA_1:5: + title: ILLUMINA_1_5 + description: Illumina 1.5+ (PHRED+64, special handling for 0-2) + meaning: ILLUMINA_1:5 + ILLUMINA_1:8: + title: ILLUMINA_1_8 + description: Illumina 1.8+ (PHRED+33, modern standard) + meaning: ILLUMINA_1:8 + SANGER: + title: SANGER + description: Sanger/Phred+33 (PHRED scores, ASCII offset 33) + meaning: SANGER + SOLEXA: + title: SOLEXA + description: Solexa+64 (Solexa scores, ASCII offset 64) + meaning: SOLEXA diff --git a/src/common_access_model/schema/enums/EnumReferenceGenome.yaml b/src/common_access_model/schema/enums/EnumReferenceGenome.yaml new file mode 100644 index 00000000..c488ad1d --- /dev/null +++ b/src/common_access_model/schema/enums/EnumReferenceGenome.yaml @@ -0,0 +1,17 @@ +id: https://includedcc.org/common-access-model/EnumReferenceGenome +name: EnumReferenceGenome +enums: + EnumReferenceGenome: + title: Reference Genome + description: >- + Reference genome builds, from + kf_lib_data_ingest.common.constants.SEQUENCING.REFERENCE_GENOME. + permissible_values: + GRCh38: + title: GRCh38 + GRCh37: + title: GRCh37 + hs37d5: + title: hs37d5 + hg19: + title: hg19 \ No newline at end of file diff --git a/src/common_access_model/schema/enums/EnumSequencingCenter.yaml b/src/common_access_model/schema/enums/EnumSequencingCenter.yaml new file mode 100644 index 00000000..d41bcd3e --- /dev/null +++ b/src/common_access_model/schema/enums/EnumSequencingCenter.yaml @@ -0,0 +1,80 @@ +--- +id: https://w3id.org/carrollaboratory/kf-access-model/EnumSequencingCenter +name: EnumSequencingCenter +enums: + EnumSequencingCenter: + title: Sequencing Center + description: >- + Sequencing centers with an ID in Kids First, from + kf_lib_data_ingest.common.constants.SEQUENCING.CENTER. + permissible_values: + SC_0CNMF82N: + title: Ashion + SC_A1JNZAZH: + title: Baylor College of Medicine + SC_FN7NH453: + title: British Columbia Cancer Agency Genome Sciences Centre + SC_WWEQ9HFY: + title: BGI@CHOP Genome Center + SC_FAD4KCQG: + title: BGI + SC_DGDDQVYR: + title: Broad Institute + SC_31369RXZ: + title: CBTN Unsequenced + SC_9NSC532X: + title: CHOP + SC_ZZPPF973: + title: CHOP DGD + SC_D30SEWS4: + title: Complete Genomics + SC_MDY0AZMZ: + title: CSIR - Institute of Genomics and Integrative Biology, Delhi, India + SC_CATTVETT: + title: Feline Diagnostics LLC + SC_XXXXXXX2: + title: fg + SC_5EDC0A25: + title: GeneDx + SC_75KENA7A: + title: Humangenetik Tübingen + SC_X1N69WJM: + title: HudsonAlpha Institute for Biotechnology + SC_N1EVHSME: + title: NantOmics + SC_2ZBAMKK0: + title: Novogene + SC_BJW95TMY: + title: New York Genome Center + SC_F6RZ51K9: + title: National Cancer Institute, Khan Lab + SC_HEXD2E5R: + title: National Institutes of Health + SC_V4CCQ3WE: + title: Princess Maxima Center + SC_9WMJKQ1X: + title: SickKids + SC_KE2ASNJM: + title: Genomic Clinical Core at Sidra Medical and Research Center + SC_1K3QGW4V: + title: St Jude + SC_SJJ0B9GN: + title: TEMP + SC_TQ8HJWGE: + title: Tempus + SC_KQ9JZG3P: + title: The Translational Genomics Research Institute + SC_5A2B1T4K: + title: 'UNKNOWN:CHRIS_JONES' + SC_MSQP04K7: + title: UCSF CAT + SC_T2A19FHX: + title: Variantyx + SC_BATJDPHB: + title: Virtual + SC_K52V7463: + title: Washington University + SC_31W52VNX: + title: Yale + SC_8JXH42X1: + title: Fred Hutchinson Cancer Research Center diff --git a/src/common_access_model/schema/enums/EnumSequencingInstrument.yaml b/src/common_access_model/schema/enums/EnumSequencingInstrument.yaml new file mode 100644 index 00000000..a60bebef --- /dev/null +++ b/src/common_access_model/schema/enums/EnumSequencingInstrument.yaml @@ -0,0 +1,13 @@ +id: https://includedcc.org/common-access-model/EnumSequencingInstrument +name: EnumSequencingInstrument +enums: + EnumSequencingInstrument: + title: Sequencing Instrument + description: >- + Sequencing instrument models, from + kf_lib_data_ingest.common.constants.SEQUENCING.INSTRUMENT. + permissible_values: + hiseq_x_v2_5: + title: HiSeq X v2.5 + hiseq_x_10: + title: HiSeq X Ten \ No newline at end of file diff --git a/src/common_access_model/schema/enums/EnumSequencingPlatform.yaml b/src/common_access_model/schema/enums/EnumSequencingPlatform.yaml new file mode 100644 index 00000000..647ca61f --- /dev/null +++ b/src/common_access_model/schema/enums/EnumSequencingPlatform.yaml @@ -0,0 +1,23 @@ +id: https://includedcc.org/common-access-model/EnumSequencingPlatform +name: EnumSequencingPlatform +enums: + EnumSequencingPlatform: + title: Sequencing Platform + description: >- + Sequencing platforms, from + kf_lib_data_ingest.common.constants.SEQUENCING.PLATFORM. + permissible_values: + complete_genomics: + title: Complete Genomics + illumina: + title: Illumina + ion_torrent: + title: Ion Torrent + ls454: + title: LS454 + pacbio: + title: PacBio + solid: + title: SOLiD + ont: + title: ONT \ No newline at end of file diff --git a/src/common_access_model/schema/enums/EnumSequencingStrategy.yaml b/src/common_access_model/schema/enums/EnumSequencingStrategy.yaml new file mode 100644 index 00000000..9038971b --- /dev/null +++ b/src/common_access_model/schema/enums/EnumSequencingStrategy.yaml @@ -0,0 +1,39 @@ +id: https://includedcc.org/common-access-model/EnumSequencingStrategy +name: EnumSequencingStrategy +enums: + EnumSequencingStrategy: + title: Sequencing Strategy + description: >- + Sequencing strategies, from + kf_lib_data_ingest.common.constants.SEQUENCING.STRATEGY. + permissible_values: + linked_wgs: + title: Linked-Read WGS (10x Chromium) + methyl: + title: Methylation + mrna: + title: miRNA-Seq + rna: + title: RNA-Seq + wgs: + title: WGS + wxs: + title: WXS + targeted: + title: Targeted Sequencing + panel: + title: Panel + scrna: + title: scRNA-Seq + snrna: + title: snRNA-Seq + ccs_wgs: + title: Circular Consensus Sequencing WGS + ccs_rna: + title: Circular Consensus Sequencing RNA-Seq + clr_wgs: + title: Continuous Long Reads WGS + clr_rna: + title: Continuous Long Reads RNA-Seq + ont_wgs: + title: ONT WGS \ No newline at end of file