Skip to content

omnipy.components.isa.models.investigation_schema

ISA model representing an investigation.

ISA denotes Investigation/Study/Assay, and this module maps ISA-JSON JSON-LD investigation records into Omnipy models.

CLASS DESCRIPTION
FieldType

JSON-LD type labels used for ISA investigation entities.

IsaInvestigationModel

Omnipy model wrapper for ISA investigation metadata.

IsaInvestigationSchema

Schema for an ISA investigation document.

FieldType

Bases: Enum


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

              

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

JSON-LD type labels used for ISA investigation entities.

ATTRIBUTE DESCRIPTION
Investigation

Marks a JSON object as an ISA investigation.

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

    Attributes:
        Investigation: Marks a JSON object as an ISA investigation.
    """

    Investigation = 'Investigation'

Investigation class-attribute instance-attribute

Investigation = 'Investigation'

IsaInvestigationModel

Bases: Model[IsaInvestigationSchema]


              flowchart BT
              omnipy.components.isa.models.investigation_schema.IsaInvestigationModel[IsaInvestigationModel]
              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.investigation_schema.IsaInvestigationModel
                                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.investigation_schema.IsaInvestigationModel href "" "omnipy.components.isa.models.investigation_schema.IsaInvestigationModel"
              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 investigation metadata.

Wraps :class:IsaInvestigationSchema so investigations integrate with Omnipy dataset and model utilities.

Source code in src/omnipy/components/isa/models/investigation_schema.py
class IsaInvestigationModel(Model[IsaInvestigationSchema]):
    """Omnipy model wrapper for ISA investigation metadata.

    Wraps :class:`IsaInvestigationSchema` so investigations integrate with
    Omnipy dataset and model utilities.
    """

    ...

IsaInvestigationSchema

Bases: pyd.BaseModel


              flowchart BT
              omnipy.components.isa.models.investigation_schema.IsaInvestigationSchema[IsaInvestigationSchema]

                              omnipy.util.pydantic.BaseModel --> omnipy.components.isa.models.investigation_schema.IsaInvestigationSchema
                


              click omnipy.components.isa.models.investigation_schema.IsaInvestigationSchema href "" "omnipy.components.isa.models.investigation_schema.IsaInvestigationSchema"
            

Schema for an ISA investigation document.

ATTRIBUTE DESCRIPTION
identifier

Stable identifier for the investigation.

TYPE: str | None

title

Human-readable investigation title.

TYPE: str | None

studies

Study entries included in this investigation.

TYPE: list[study_schema.IsaStudyModel] | None

submissionDate

Submission date value for the investigation metadata.

TYPE: datetime | date | pyd.constr(max_length=0) | None

publicReleaseDate

Public release date for the investigation.

TYPE: datetime | date | pyd.constr(max_length=0) | None

CLASS DESCRIPTION
Config

Validation settings for ISA investigation schema parsing.

Source code in src/omnipy/components/isa/models/investigation_schema.py
class IsaInvestigationSchema(pyd.BaseModel):
    """Schema for an ISA investigation document.

    Attributes:
        identifier: Stable identifier for the investigation.
        title: Human-readable investigation title.
        studies: Study entries included in this investigation.
        submissionDate: Submission date value for the investigation metadata.
        publicReleaseDate: Public release date for the investigation.
    """
    class Config:
        """Validation settings for ISA investigation schema parsing.

        Attributes:
            extra: Rejects undeclared keys in incoming payloads.
            use_enum_values: Emits enum fields 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
    identifier: Optional[str] = None
    title: Optional[str] = None
    description: Optional[str] = None
    submissionDate: Optional[Union[datetime, date, pyd.constr(max_length=0)]] = None
    publicReleaseDate: Optional[Union[datetime, date, pyd.constr(max_length=0)]] = None
    ontologySourceReferences: Optional[List[
        ontology_source_reference_schema.IsaOntologySourceReferenceModel]] = None
    publications: Optional[List[publication_schema.IsaPublicationModel]] = None
    people: Optional[List[person_schema.IsaPersonModel]] = None
    studies: Optional[List[study_schema.IsaStudyModel]] = None
    comments: Optional[List[comment_schema.IsaCommentModel]] = None

    _date_to_iso_format = pyd.validator(
        'submissionDate', 'publicReleaseDate', allow_reuse=True)(
            date_to_iso_format)

comments class-attribute instance-attribute

comments: list[comment_schema.IsaCommentModel] | 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')

filename class-attribute instance-attribute

filename: str | None = None

identifier class-attribute instance-attribute

identifier: str | None = None

ontologySourceReferences class-attribute instance-attribute

ontologySourceReferences: (
    list[ontology_source_reference_schema.IsaOntologySourceReferenceModel] | None
) = None

people class-attribute instance-attribute

people: list[person_schema.IsaPersonModel] | None = None

publicReleaseDate class-attribute instance-attribute

publicReleaseDate: datetime | date | pyd.constr(max_length=0) | None = None

publications class-attribute instance-attribute

publications: list[publication_schema.IsaPublicationModel] | None = None

studies class-attribute instance-attribute

studies: list[study_schema.IsaStudyModel] | None = None

submissionDate class-attribute instance-attribute

submissionDate: datetime | date | pyd.constr(max_length=0) | None = None

title class-attribute instance-attribute

title: str | None = None

Config

Validation settings for ISA investigation schema parsing.

ATTRIBUTE DESCRIPTION
extra

Rejects undeclared keys in incoming payloads.

use_enum_values

Emits enum fields as their value strings.

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

    Attributes:
        extra: Rejects undeclared keys in incoming payloads.
        use_enum_values: Emits enum fields 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