Skip to content

omnipy.components.isa.models.assay_schema

ISA model representing an assay in an investigation.

ISA stands for Investigation/Study/Assay, and these schemas map ISA-JSON JSON-LD fields into Omnipy models.

CLASS DESCRIPTION
FieldType

JSON-LD type labels used for ISA assay entities.

IsaAssayJsonModel

Omnipy model wrapper for validated ISA assay payloads.

IsaAssayJsonSchema

Schema describing an assay block in ISA-JSON.

FieldType

Bases: Enum


              flowchart BT
              omnipy.components.isa.models.assay_schema.FieldType[FieldType]

              

              click omnipy.components.isa.models.assay_schema.FieldType href "" "omnipy.components.isa.models.assay_schema.FieldType"
            

JSON-LD type labels used for ISA assay entities.

ATTRIBUTE DESCRIPTION
Assay

Marks a JSON object as an ISA assay.

Source code in src/omnipy/components/isa/models/assay_schema.py
class FieldType(Enum):
    """JSON-LD type labels used for ISA assay entities.

    Attributes:
        Assay: Marks a JSON object as an ISA assay.
    """

    Assay = 'Assay'

Assay class-attribute instance-attribute

Assay = 'Assay'

IsaAssayJsonModel

Bases: Model[IsaAssayJsonSchema]


              flowchart BT
              omnipy.components.isa.models.assay_schema.IsaAssayJsonModel[IsaAssayJsonModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.isa.models.assay_schema.IsaAssayJsonModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.isa.models.assay_schema.IsaAssayJsonModel href "" "omnipy.components.isa.models.assay_schema.IsaAssayJsonModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Omnipy model wrapper for validated ISA assay payloads.

This model exposes Omnipy Model behavior on top of :class:IsaAssayJsonSchema for use in datasets and flows.

Source code in src/omnipy/components/isa/models/assay_schema.py
class IsaAssayJsonModel(Model[IsaAssayJsonSchema]):
    """Omnipy model wrapper for validated ISA assay payloads.

    This model exposes Omnipy ``Model`` behavior on top of
    :class:`IsaAssayJsonSchema` for use in datasets and flows.
    """

    ...

IsaAssayJsonSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.models.assay_schema.IsaAssayJsonSchema[IsaAssayJsonSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.models.assay_schema.IsaAssayJsonSchema
                


              click omnipy.components.isa.models.assay_schema.IsaAssayJsonSchema href "" "omnipy.components.isa.models.assay_schema.IsaAssayJsonSchema"
            

Schema describing an assay block in ISA-JSON.

ATTRIBUTE DESCRIPTION
filename

Source filename for the assay metadata.

TYPE: str | None

measurementType

Ontology term describing what is measured.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

technologyType

Ontology term describing the assay technology.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

dataFiles

Data files produced or referenced by the assay.

TYPE: list[data_schema.IsaDataModel] | None

processSequence

Ordered process applications for the assay workflow.

TYPE: list[process_schema.IsaProcessOrProtocolApplicationModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA assay schema parsing.

Source code in src/omnipy/components/isa/models/assay_schema.py
class IsaAssayJsonSchema(pyd.BaseModel):
    """Schema describing an assay block in ISA-JSON.

    Attributes:
        filename: Source filename for the assay metadata.
        measurementType: Ontology term describing what is measured.
        technologyType: Ontology term describing the assay technology.
        dataFiles: Data files produced or referenced by the assay.
        processSequence: Ordered process applications for the assay workflow.
    """
    class Config:
        """Validation settings for ISA assay schema parsing.

        Attributes:
            extra: Rejects keys not defined in the schema.
            use_enum_values: Serializes enum members as their value strings.
        """

        extra = pyd.Extra.forbid
        use_enum_values = True

    field_id: Optional[str] = pyd.Field(None, alias='@id')
    field_context: Optional[str] = pyd.Field(None, alias='@context')
    field_type: Optional[FieldType] = pyd.Field(None, alias='@type')
    filename: Optional[str] = None
    measurementType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = (None)
    technologyType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = (None)
    technologyPlatform: Optional[str] = None
    dataFiles: Optional[List[data_schema.IsaDataModel]] = None
    materials: Optional[_MaterialsModel] = None
    characteristicCategories: Optional[List[material_attribute_schema.IsaMaterialAttributeModel]] =\
        pyd.Field(
            None,
            description='List of all the characteristics categories (or material attributes) '
            'defined in the study, used to avoid duplication of their declaration '
            'when each material_attribute_value is created. ')
    unitCategories: Optional[List[ontology_annotation_schema.IsaOntologyReferenceModel]] = \
        pyd.Field(
            None,
            description='List of all the units defined in the study, used to avoid duplication '
                        'of their declaration when each value is created. ')
    processSequence: Optional[List[process_schema.IsaProcessOrProtocolApplicationModel]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

characteristicCategories class-attribute instance-attribute

characteristicCategories: list[material_attribute_schema.IsaMaterialAttributeModel] | None = (
    pyd.Field(
        None,
        description="List of all the characteristics categories (or material attributes) defined in the study, used to avoid duplication of their declaration when each material_attribute_value is created. ",
    )
)

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | None = None

dataFiles class-attribute instance-attribute

dataFiles: list[data_schema.IsaDataModel] | None = None

field_context class-attribute instance-attribute

field_context: str | None = pyd.Field(None, alias='@context')

field_id class-attribute instance-attribute

field_id: str | None = pyd.Field(None, alias='@id')

field_type class-attribute instance-attribute

field_type: FieldType | None = pyd.Field(None, alias='@type')

filename class-attribute instance-attribute

filename: str | None = None

materials class-attribute instance-attribute

materials: _MaterialsModel | None = None

measurementType class-attribute instance-attribute

processSequence class-attribute instance-attribute

processSequence: list[process_schema.IsaProcessOrProtocolApplicationModel] | None = None

technologyPlatform class-attribute instance-attribute

technologyPlatform: str | None = None

technologyType class-attribute instance-attribute

unitCategories class-attribute instance-attribute

unitCategories: list[ontology_annotation_schema.IsaOntologyReferenceModel] | None = pyd.Field(
    None,
    description="List of all the units defined in the study, used to avoid duplication of their declaration when each value is created. ",
)

Config

Validation settings for ISA assay schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys not defined in the schema.

use_enum_values

Serializes enum members as their value strings.

Source code in src/omnipy/components/isa/models/assay_schema.py
class Config:
    """Validation settings for ISA assay schema parsing.

    Attributes:
        extra: Rejects keys not defined in the schema.
        use_enum_values: Serializes enum members as their value strings.
    """

    extra = pyd.Extra.forbid
    use_enum_values = True

extra class-attribute instance-attribute

extra = pyd.Extra.forbid

use_enum_values class-attribute instance-attribute

use_enum_values = True