Skip to content

Main Class#

Bases: BaseModel

Microbe - main class of the new microbial data standard

Parameters:

Name Type Description Default
organism_type OrganismType
required
morph_type Morph | None

Applicable and required for fungi only

None
unified_type_strain bool | None

Is this strain type for unified species

None
unified_taxon Taxon | None

Evaluated and updated taxonomy

None
type_strain list[TypeStrain]
required
taxon list[TaxonWithSource]
required
sample list[Sample]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
isolation list[Isolation]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
legal list[Legal]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
cell_shape list[CellShape]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
oxygen_relation list[OxygenRelation]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
multi_cell_complex_forming list[MultiCell]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
cell_size list[CellSize]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
motility list[Motility]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
colony list[Colony]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
spore_formation list[Spore]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
temperature list[Growth[Literal[C]]]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
ph list[Growth[Literal[pH]]]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
identifier list[IdentifierStrain]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
connected_persons list[ConnectedPerson]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
pathogenicity list[Pathogen]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
bio_safety list[BioSafety]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
sequences list[Sequence]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
gc_content list[GCContent]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
literature list[Literature]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
wall_constituents list[CellWall]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
fatty_acid_profiles list[FattyAcidProfile]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
stainings list[Staining]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
hemolysis list[Hemolysis]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
cultivation_media list[CultivationMedia]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
halophily list[Halophil]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
tolerances list[Tolerance]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
enzymes list[Enzyme]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
metabolites list[Metabolite]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
known_applications list[Application]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
collections list[Collection]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
other_media list[OtherMedia]

Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.

<dynamic>
sources list[Union[Literature, Organization, Person]]
required
Source code in src/microbial_strain_data_model/microbe.py
class Microbe(BaseModel):
    """Microbe - main class of the new microbial data standard"""

    # single data points

    organism_type: OrganismType = Field(
        title="Organism Type", alias="organismType", description="", frozen=True
    )

    morph_type: Morph | None = Field(
        default=None,
        title="Morph Type",
        alias="morphType",
        description="Applicable and required for fungi only",
        frozen=True,
    )

    unified_type_strain: bool | None = Field(
        default=None,
        title="Unified Type Strain",
        alias="unifiedTypeStrain",
        description="Is this strain type for unified species",
        frozen=True,
    )

    unified_taxon: Taxon | None = Field(
        default=None,
        title="Unified Taxon",
        alias="unifiedTaxon",
        description="Evaluated and updated taxonomy",
    )

    # lists of data objects

    type_strain: list[TypeStrain] = Field(
        title="Type Strain", alias="typeStrain", description=""
    )

    taxon: list[TaxonWithSource] = Field(title="Taxon", alias="taxon", description="")

    sample: list[Sample] = Field(
        default_factory=list, title="Sample", alias="sample", description=""
    )

    isolation: list[Isolation] = Field(
        default_factory=list, title="Isolation", alias="isolation", description=""
    )

    legal: list[Legal] = Field(
        default_factory=list, title="Legal", alias="legal", description=""
    )

    cell_shape: list[CellShape] = Field(
        default_factory=list, title="Cell Shape", alias="cellShape", description=""
    )

    oxygen_relation: list[OxygenRelation] = Field(
        default_factory=list,
        title="Oxygen Relation",
        alias="oxygenRelation",
        description="",
    )

    multi_cell_complex_forming: list[MultiCell] = Field(
        default_factory=list,
        title="Multi Cell Complex Forming",
        alias="multiCellComplexForming",
        description="",
    )

    cell_size: list[CellSize] = Field(
        default_factory=list, title="Cell Size", alias="cellSize", description=""
    )

    motility: list[Motility] = Field(
        default_factory=list, title="Motility", alias="motility", description=""
    )

    colony: list[Colony] = Field(
        default_factory=list, title="Colony", alias="colony", description=""
    )

    spore_formation: list[Spore] = Field(
        default_factory=list,
        title="Spore Formation",
        alias="sporeFormation",
        description="",
    )

    temperature: list[Growth[CelsiusUnit]] = Field(
        default_factory=list, title="Temperature", alias="temperature", description=""
    )

    ph: list[Growth[PHUnit]] = Field(
        default_factory=list, title="pH", alias="pH", description=""
    )

    identifier: list[IdentifierStrain] = Field(
        default_factory=list, title="Identifier", alias="identifier", description=""
    )

    connected_persons: list[ConnectedPerson] = Field(
        default_factory=list,
        title="Connected Persons",
        alias="connectedPersons",
        description="",
    )

    pathogenicity: list[Pathogen] = Field(
        default_factory=list, title="pathogenicity", alias="pathogenicity", description=""
    )

    bio_safety: list[BioSafety] = Field(
        default_factory=list, title="Bio Safety", alias="bioSafety", description=""
    )

    sequences: list[Sequence] = Field(
        default_factory=list, title="Sequences", alias="sequences", description=""
    )

    gc_content: list[GCContent] = Field(
        default_factory=list, title="GC Content", alias="gcContent", description=""
    )

    literature: list[Literature] = Field(
        default_factory=list, title="Literature", alias="literature", description=""
    )

    wall_constituents: list[CellWall] = Field(
        default_factory=list,
        title="Wall Constituents",
        alias="wallConstituents",
        description="",
    )

    fatty_acid_profiles: list[FattyAcidProfile] = Field(
        default_factory=list,
        title="Fatty Acid Profile",
        alias="fattyAcidProfiles",
        description="",
    )

    stainings: list[Staining] = Field(
        default_factory=list, title="Stainings", alias="stainings", description=""
    )

    hemolysis: list[Hemolysis] = Field(
        default_factory=list, title="Hemolysis", alias="hemolysis", description=""
    )

    cultivation_media: list[CultivationMedia] = Field(
        default_factory=list,
        title="Cultivation Media",
        alias="cultivationMedia",
        description="",
    )

    halophily: list[Halophil] = Field(
        default_factory=list, title="Halophily", alias="halophily", description=""
    )

    tolerances: list[Tolerance] = Field(
        default_factory=list, title="Tolerances", alias="tolerances", description=""
    )

    enzymes: list[Enzyme] = Field(
        default_factory=list, title="Enzymes", alias="enzymes", description=""
    )
    metabolites: list[Metabolite] = Field(
        default_factory=list, title="Metabolites", alias="metabolites", description=""
    )

    known_applications: list[Application] = Field(
        default_factory=list,
        title="Known Applications",
        alias="knownApplications",
        description="",
    )

    collections: list[Collection] = Field(
        default_factory=list, title="Collections", alias="collections", description=""
    )

    other_media: list[OtherMedia] = Field(
        default_factory=list, title="Other Media", alias="otherMedia", description=""
    )

    sources: list[Literature | Organization | Person] = Field(
        title="Source", alias="sources", description=""
    )

    model_config = ConfigDict(
        strict=True,
        extra="forbid",
        revalidate_instances="always",
        str_strip_whitespace=True,
    )