Skip to content

omnipy.components.isa.models.factor_schema

ISA model representing an experimental factor in an investigation.

These generated schemas map ISA-JSON (Investigation/Study/Assay) JSON-LD metadata into typed Omnipy models.

CLASS DESCRIPTION
FieldType

JSON-LD type labels used for ISA factor entities.

IsaFactorModel

Omnipy model wrapper for ISA study factors.

IsaFactorSchema

Schema for an experimental factor defined in a study.

FieldType

Bases: Enum


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

              

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

JSON-LD type labels used for ISA factor entities.

ATTRIBUTE DESCRIPTION
Factor

Marks a JSON object as an ISA study factor.

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

    Attributes:
        Factor: Marks a JSON object as an ISA study factor.
    """

    Factor = 'Factor'

Factor class-attribute instance-attribute

Factor = 'Factor'

IsaFactorModel

Bases: Model[IsaFactorSchema]


              flowchart BT
              omnipy.components.isa.models.factor_schema.IsaFactorModel[IsaFactorModel]
              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.factor_schema.IsaFactorModel
                                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.factor_schema.IsaFactorModel href "" "omnipy.components.isa.models.factor_schema.IsaFactorModel"
              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 study factors.

Wraps :class:IsaFactorSchema for use in Omnipy datasets and nested ISA structures.

Source code in src/omnipy/components/isa/models/factor_schema.py
class IsaFactorModel(Model[IsaFactorSchema]):
    """Omnipy model wrapper for ISA study factors.

    Wraps :class:`IsaFactorSchema` for use in Omnipy datasets and nested ISA
    structures.
    """

    ...

IsaFactorSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.models.factor_schema.IsaFactorSchema[IsaFactorSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.models.factor_schema.IsaFactorSchema
                


              click omnipy.components.isa.models.factor_schema.IsaFactorSchema href "" "omnipy.components.isa.models.factor_schema.IsaFactorSchema"
            

Schema for an experimental factor defined in a study.

ATTRIBUTE DESCRIPTION
factorName

Human-readable factor label.

TYPE: str | None

factorType

Ontology term describing the factor category.

TYPE: ontology_annotation_schema.IsaOntologyReferenceModel | None

comments

Optional comments attached to the factor definition.

TYPE: list[comment_schema.IsaCommentModel] | None

CLASS DESCRIPTION
Config

Validation settings for ISA factor schema parsing.

Source code in src/omnipy/components/isa/models/factor_schema.py
class IsaFactorSchema(pyd.BaseModel):
    """Schema for an experimental factor defined in a study.

    Attributes:
        factorName: Human-readable factor label.
        factorType: Ontology term describing the factor category.
        comments: Optional comments attached to the factor definition.
    """
    class Config:
        """Validation settings for ISA factor schema parsing.

        Attributes:
            extra: Rejects unknown keys in incoming data.
            use_enum_values: Serializes enums as 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')
    factorName: Optional[str] = None
    factorType: 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

factorName class-attribute instance-attribute

factorName: str | None = None

factorType class-attribute instance-attribute

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')

Config

Validation settings for ISA factor schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects unknown keys in incoming data.

use_enum_values

Serializes enums as value strings.

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

    Attributes:
        extra: Rejects unknown keys in incoming data.
        use_enum_values: Serializes enums as 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