After discussion with Kids First Bioinformatics team, I'd like to propose using child classes within Assay to represent the various types of sequencing that could be performed.
Assay would be the abstract class with SequencingAssay as the general base class for all sequencing experiments. Then child classes can be defined that will inherit from SequencingAssay - WGSAssay, WESAssay, RNASeqAssay, etc. This is useful because, while there are field that all sequencing experiments require, specific types of sequencing require different fields in order to be processed in our bix pipelines.
For example, these are some of the required fields that are only used in specific types of sequencing experiments:
RNASeq
- library_strand
- library_prep
- library_selection
WGS
- flow_cell
- lane_number
- quality_scale
While in the current model an ActivityDefinition could still be used to specify/define the type of sequencing performed for an Assay, we would not be able to require specific fields depending on what the linked ActivityDefinition is.
After discussion with Kids First Bioinformatics team, I'd like to propose using child classes within Assay to represent the various types of sequencing that could be performed.
Assay would be the abstract class with SequencingAssay as the general base class for all sequencing experiments. Then child classes can be defined that will inherit from SequencingAssay - WGSAssay, WESAssay, RNASeqAssay, etc. This is useful because, while there are field that all sequencing experiments require, specific types of sequencing require different fields in order to be processed in our bix pipelines.
For example, these are some of the required fields that are only used in specific types of sequencing experiments:
RNASeq
WGS
While in the current model an ActivityDefinition could still be used to specify/define the type of sequencing performed for an Assay, we would not be able to require specific fields depending on what the linked ActivityDefinition is.