Skip to content

🚧 Sequencing Assay Setup - #113

Draft
awarkow wants to merge 1 commit into
mainfrom
sequencing-assays
Draft

awarkow wants to merge 1 commit into
mainfrom
sequencing-assays

Conversation

@awarkow

@awarkow awarkow commented Oct 19, 2026 •

Copy link
Copy Markdown

Summary

This PR adresses #89 by adding sequencing-specific assay classes to the Common Access Model. They extend the existing generic Assay class so we can capture experiment metadata for whole genome, whole exome and RNA sequencing data.

New Assay Classes

The new classes form a hierarchy under the existing Assay class:
Assay
└── SequencingAssay
├── GenomicsAssay (WGS/WXS)
└── TranscriptomicsAssay (RNA-Seq)

Each subclass inherits all slots from its parent. Every sequencing assay therefore keeps the core Assay fields (assay_id, subject_id, sample_id, file_id, assay_type, etc.) and adds its own experiment metadata.

SequencingAssay

Sequencing Experiment Assay: a sequencing experiment performed on a Biospecimen. This is the shared base for all sequencing assays.

Slot Range Description
sequencing_center_id The sequencing center that performed the experiment
library_name string Name of the sequencing library
experiment_date date Date the sequencing experiment was performed
experiment_strategy EnumSequencingStrategy Sequencing strategy used
is_paired_end boolean Whether reads are paired-end
platform EnumSequencingPlatform Sequencing platform used
instrument_model EnumSequencingInstrument Sequencing instrument model used
total_reads integer Total number of reads generated
is_adapter_trimmed boolean Whether adapter sequences were trimmed
adapter_sequencing string Adapter sequence used, if known (expected when is_adapter_trimmed is false)
quality_scale EnumReadGroupQualityScale Quality score scale used for the read group
reference_genome EnumReferenceGenome Reference genome build the data was aligned to or generated against
workflow_type string Type of workflow that produced the file (Kids First Dataservice: workflow_type)
workflow_tool string Tool used by the workflow (Kids First Dataservice: workflow_tool)
workflow_version string Version of the workflow tool
workflow_endpoint Workflow endpoint
flow_cell string Flow cell identifier for the read group
lane_number integer Lane number for the read group

GenomicsAssay

WGS/WXS Assay: a whole genome or whole exome sequencing experiment performed on a Biospecimen. It extends SequencingAssay with alignment and coverage metrics.

Slot Range Description
max_insert_size integer Maximum insert size (bp)
mean_insert_size float Mean insert size (bp)
mean_depth float Mean sequencing depth of coverage
mean_read_length integer Mean read length (bp)
target_capture_kit string Target capture kit used, if any (relevant for WXS)

TranscriptomicsAssay

RNA Sequencing Assay: an RNA sequencing experiment performed on a Biospecimen. It extends SequencingAssay with library construction details.

Slot Range Description
library_strand EnumLibraryStrand Strandedness of the sequencing library
library_prep EnumLibraryPrep Library preparation method
library_selection EnumLibrarySelection Library selection method

New Enums

🚧 Work in progress. The new slots reference several enums. Only the one below is defined so far

EnumLibraryPrep

Library preparation methods for RNA sequencing. Values are drawn from OBI and constrained to subclasses of an OBI source node.

Value Title Description
OBI:0000848 polyA RNA extraction An RNA extraction process, typically using poly dT oligomers, whose desired output material is polyA RNA.
OBI:0000855 total RNA depletion An RNA extraction process in which total cellular and organelle RNA are extracted.

Open Questions

  • Is library_prep the same thing as library_construction? If so, should we rename or alias it?
  • Should adapter_sequencing be conditionally required when is_adapter_trimmed is false? We could enforce this with a LinkML rule.

@awarkow awarkow changed the title Sequencing Assay Setup 🚧 Sequencing Assay Setup Oct 19, 2026
@awarkow
awarkow marked this pull request as draft October 19, 2026 14:45

This branch has not been deployed

No deployments
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.

1 participant