# coding: utf-8

"""
    NCBI Datasets API

    ### NCBI Datasets is a resource that lets you easily gather data from NCBI. The NCBI Datasets version 2 API is updated often to add new features, fix bugs, and enhance usability. 

    The version of the OpenAPI document: v2
    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 V2archiveTaxonomySubtype(str, Enum):
    """
    V2archiveTaxonomySubtype
    """

    """
    allowed enum values
    """
    UNKNOWN = 'unknown'
    STRAIN = 'strain'
    SUBSTRAIN = 'substrain'
    TYPE = 'type'
    SUBTYPE = 'subtype'
    VARIETY = 'variety'
    SEROTYPE = 'serotype'
    SEROGROUP = 'serogroup'
    SEROVAR = 'serovar'
    CULTIVAR = 'cultivar'
    PATHOVAR = 'pathovar'
    CHEMOVAR = 'chemovar'
    BIOVAR = 'biovar'
    BIOTYPE = 'biotype'
    GROUP = 'group'
    SUBGROUP = 'subgroup'
    ISOLATE = 'isolate'
    COMMON = 'common'
    ACRONYM = 'acronym'
    DOSAGE = 'dosage'
    NAT_HOST = 'nat_host'
    SUB_SPECIES = 'sub_species'
    SPECIMEN_VOUCHER = 'specimen_voucher'
    AUTHORITY = 'authority'
    FORMA = 'forma'
    FORMA_SPECIALIS = 'forma_specialis'
    ECOTYPE = 'ecotype'
    SYNONYM = 'synonym'
    ANAMORPH = 'anamorph'
    TELEOMORPH = 'teleomorph'
    BREED = 'breed'
    GB_ACRONYM = 'gb_acronym'
    GB_ANAMORPH = 'gb_anamorph'
    GB_SYNONYM = 'gb_synonym'
    CULTURE_COLLECTION = 'culture_collection'
    BIO_MATERIAL = 'bio_material'
    METAGENOME_SOURCE = 'metagenome_source'
    TYPE_MATERIAL = 'type_material'
    NOMENCLATURE = 'nomenclature'
    OLD_LINEAGE = 'old_lineage'
    OLD_NAME = 'old_name'
    OTHER = 'other'

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


