# coding: utf-8

"""
    IGVF Project API

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 73.0.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class ItemType(str, Enum):
    """
    ItemType
    """

    """
    allowed enum values
    """
    AccessKey = 'AccessKey'
    AnalysisStep = 'AnalysisStep'
    AnalysisStepVersion = 'AnalysisStepVersion'
    Award = 'Award'
    Biomarker = 'Biomarker'
    Document = 'Document'
    HumanDonor = 'HumanDonor'
    RodentDonor = 'RodentDonor'
    AlignmentFile = 'AlignmentFile'
    ConfigurationFile = 'ConfigurationFile'
    GenomeBrowserAnnotationFile = 'GenomeBrowserAnnotationFile'
    ImageFile = 'ImageFile'
    IndexFile = 'IndexFile'
    MatrixFile = 'MatrixFile'
    ModelFile = 'ModelFile'
    ReferenceFile = 'ReferenceFile'
    SequenceFile = 'SequenceFile'
    SignalFile = 'SignalFile'
    TabularFile = 'TabularFile'
    AnalysisSet = 'AnalysisSet'
    AuxiliarySet = 'AuxiliarySet'
    ConstructLibrarySet = 'ConstructLibrarySet'
    CuratedSet = 'CuratedSet'
    MeasurementSet = 'MeasurementSet'
    ModelSet = 'ModelSet'
    PredictionSet = 'PredictionSet'
    Gene = 'Gene'
    Image = 'Image'
    InstitutionalCertificate = 'InstitutionalCertificate'
    Lab = 'Lab'
    CrisprModification = 'CrisprModification'
    DegronModification = 'DegronModification'
    AssayTerm = 'AssayTerm'
    PhenotypeTerm = 'PhenotypeTerm'
    PlatformTerm = 'PlatformTerm'
    SampleTerm = 'SampleTerm'
    OpenReadingFrame = 'OpenReadingFrame'
    Page = 'Page'
    PhenotypicFeature = 'PhenotypicFeature'
    Publication = 'Publication'
    MpraQualityMetric = 'MpraQualityMetric'
    PerturbSeqQualityMetric = 'PerturbSeqQualityMetric'
    SingleCellAtacSeqQualityMetric = 'SingleCellAtacSeqQualityMetric'
    SingleCellRnaSeqQualityMetric = 'SingleCellRnaSeqQualityMetric'
    StarrSeqQualityMetric = 'StarrSeqQualityMetric'
    InVitroSystem = 'InVitroSystem'
    MultiplexedSample = 'MultiplexedSample'
    PrimaryCell = 'PrimaryCell'
    TechnicalSample = 'TechnicalSample'
    Tissue = 'Tissue'
    WholeOrganism = 'WholeOrganism'
    Software = 'Software'
    SoftwareVersion = 'SoftwareVersion'
    Source = 'Source'
    Treatment = 'Treatment'
    User = 'User'
    Workflow = 'Workflow'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of ItemType from a JSON string"""
        return cls(json.loads(json_str))


