Skip to content

omnipy.components.isa.models.protocol_schema

ISA model representing a protocol in an investigation.

ISA means Investigation/Study/Assay, and this module maps ISA-JSON JSON-LD protocol objects into Omnipy models.

CLASS DESCRIPTION
Component

Schema for reusable components declared inside a protocol.

FieldType

JSON-LD type labels used for ISA protocol entities.

IsaProtocolModel

Omnipy model wrapper for ISA protocol definitions.

IsaProtocolSchema

Schema for protocols referenced by ISA process workflows.

Component

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.models.protocol_schema.Component[Component]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.models.protocol_schema.Component
                


              click omnipy.components.isa.models.protocol_schema.Component href "" "omnipy.components.isa.models.protocol_schema.Component"
            

Schema for reusable components declared inside a protocol.

ATTRIBUTE DESCRIPTION
componentName

Name of the protocol component.

TYPE: str | None

componentType

Ontology term describing the component type.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

comments

Optional comments attached to the component.

TYPE: list[comment_schema.IsaCommentModel] | None

Source code in src/omnipy/components/isa/models/protocol_schema.py
class Component(pyd.BaseModel):
    """Schema for reusable components declared inside a protocol.

    Attributes:
        componentName: Name of the protocol component.
        componentType: Ontology term describing the component type.
        comments: Optional comments attached to the component.
    """

    componentName: Optional[str] = None
    componentType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = (None)
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

comments class-attribute instance-attribute

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

componentName class-attribute instance-attribute

componentName: str | None = None

componentType class-attribute instance-attribute

FieldType

Bases: Enum


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

              

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

JSON-LD type labels used for ISA protocol entities.

ATTRIBUTE DESCRIPTION
Protocol

Marks a JSON object as an ISA protocol.

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

    Attributes:
        Protocol: Marks a JSON object as an ISA protocol.
    """

    Protocol = 'Protocol'

Protocol class-attribute instance-attribute

Protocol = 'Protocol'

IsaProtocolModel

Bases: Model[IsaProtocolSchema]


              flowchart BT
              omnipy.components.isa.models.protocol_schema.IsaProtocolModel[IsaProtocolModel]
              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.protocol_schema.IsaProtocolModel
                                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.protocol_schema.IsaProtocolModel href "" "omnipy.components.isa.models.protocol_schema.IsaProtocolModel"
              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 ISA protocol definitions.

Wraps :class:IsaProtocolSchema for typed, validated protocol objects in Omnipy ISA datasets.

Source code in src/omnipy/components/isa/models/protocol_schema.py
class IsaProtocolModel(Model[IsaProtocolSchema]):
    """Omnipy model wrapper for ISA protocol definitions.

    Wraps :class:`IsaProtocolSchema` for typed, validated protocol objects in
    Omnipy ISA datasets.
    """

    ...

IsaProtocolSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.models.protocol_schema.IsaProtocolSchema[IsaProtocolSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.models.protocol_schema.IsaProtocolSchema
                


              click omnipy.components.isa.models.protocol_schema.IsaProtocolSchema href "" "omnipy.components.isa.models.protocol_schema.IsaProtocolSchema"
            

Schema for protocols referenced by ISA process workflows.

ATTRIBUTE DESCRIPTION
name

Protocol name.

TYPE: str | None

protocolType

Ontology term describing protocol category.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

description

Human-readable protocol description.

TYPE: str | None

parameters

Parameter definitions accepted by the protocol.

TYPE: list[protocol_parameter_schema.IsaProtocolParameterModel] | None

components

Reusable protocol components and materials.

TYPE: list[Component] | None

CLASS DESCRIPTION
Config

Validation settings for ISA protocol schema parsing.

Source code in src/omnipy/components/isa/models/protocol_schema.py
class IsaProtocolSchema(pyd.BaseModel):
    """Schema for protocols referenced by ISA process workflows.

    Attributes:
        name: Protocol name.
        protocolType: Ontology term describing protocol category.
        description: Human-readable protocol description.
        parameters: Parameter definitions accepted by the protocol.
        components: Reusable protocol components and materials.
    """
    class Config:
        """Validation settings for ISA protocol schema parsing.

        Attributes:
            extra: Rejects keys that are not defined in the schema.
            use_enum_values: Serializes enum members by value.
        """

        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')
    name: Optional[str] = None
    protocolType: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = None
    description: Optional[str] = None
    uri: Optional[str] = None
    version: Optional[str] = None
    parameters: Optional[List[protocol_parameter_schema.IsaProtocolParameterModel]] = (None)
    components: Optional[List[Component]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

comments class-attribute instance-attribute

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

components class-attribute instance-attribute

components: list[Component] | None = None

description class-attribute instance-attribute

description: str | 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')

name class-attribute instance-attribute

name: str | None = None

parameters class-attribute instance-attribute

parameters: list[protocol_parameter_schema.IsaProtocolParameterModel] | None = None

protocolType class-attribute instance-attribute

uri class-attribute instance-attribute

uri: str | None = None

version class-attribute instance-attribute

version: str | None = None

Config

Validation settings for ISA protocol schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects keys that are not defined in the schema.

use_enum_values

Serializes enum members by value.

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

    Attributes:
        extra: Rejects keys that are not defined in the schema.
        use_enum_values: Serializes enum members by value.
    """

    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