Graph
classDiagram
direction LR
class `OrganismType`{
<<enumeration>>
Algae
Archaea
Bacteria
Fungi
Protist
}
class `Morph`{
<<enumeration>>
yeast
filamentous
}
class `TypeStrain`{
typeStrain: boolean
source: string
}
class `TaxonWithSource`{
name: string
taxonRank: TaxonRank | null
taxonStatus: TaxonStatus | null
identifier: array[Identifier]
scientificName: ScientificName | null
alternateName: string
parentTaxon: Taxon | null
sameAs: string
source: string
}
class `TaxonRank`{
<<enumeration>>
subspecies
species
section
genus
family
order
class
phylum
domain
}
class `TaxonStatus`{
<<enumeration>>
proposed
validly published
validly published synonym
}
class `Identifier`{
name: string
value: string
propertyID: string | null
url: string | null
logo: string | null
}
class `ScientificName`{
name: string
author: string
}
class `Taxon`{
name: string
taxonRank: TaxonRank | null
taxonStatus: TaxonStatus | null
identifier: array[Identifier]
scientificName: ScientificName | null
alternateName: string
parentTaxon: Taxon | null
sameAs: string
}
class `IdentifierStrain`{
name: string
value: string
propertyID: string | null
url: string | null
logo: string | null
source: string
}
class `Origin`{
sampleDate: string | null
country: Country | null
description: string | null
locationCreated: Location | null
tags: array[IsolationTag]
sampler: Person | null
isolationDate: string | null
isolatedAt: Organization | null
isolator: Person | null
source: string
}
class `Country`{
name: string | CountryHistoricalAlpha2 | CountryOtherCodes
identifier: array[Identifier]
conventionOfBiologicalDiversityParty: boolean | null
cartagenaProtocolParty: boolean | null
nagoyaProtocolParty: boolean | null
nagoyaKualaLumpurParty: boolean | null
}
class `CountryHistoricalAlpha2`{
<<enumeration>>
Czechoslovakia
German Democratic Republic (East Germany)
Dahomey
French Southern and Antarctic Territories
Gilbert and Ellice Islands
Upper Volta
Johnston Island
Midway Islands
New Hebrides
Southern Rhodesia
Soviet Union
East Timor
United Kingdom
North Vietnam
Yugoslavia
Zaire
Burma
Netherlands Antilles
}
class `CountryOtherCodes`{
<<enumeration>>
International Region
Other
}
class `Location`{
name: string | null
description: string | null
geo: GeoPoint | null
}
class `GeoPoint`{
latitude: number | string
longitude: number | string
elevation: number | null
precision: number | null
}
class `IsolationTag`{
level1: string
level2: string | null
level3: string | null
}
class `Person`{
name: string
identifier: array[Identifier]
}
class `Organization`{
name: string
identifier: array[Identifier]
legalName: string | null
address: Address | null
url: string | null
email: string | null
logo: string | null
}
class `Address`{
addressCountry: string | null
addressRegion: string | null
addressLocality: string | null
postOfficeBoxNumber: string | null
postalCode: string | null
streetAddress: string | null
}
class `Legal`{
dualUse: boolean | null
quarantineEU: boolean | null
nagoyaRestrictions: NagoyaRestrictions
qps: boolean | null
gras: boolean | null
gmo: boolean | null
gmoInformation: string | null
otherRestrictions: array[microbial_strain_data_model__classes__legal__Restriction]
source: string
}
class `NagoyaRestrictions`{
<<enumeration>>
No known restrictions under the Nagoya protocol
Documents providing proof of legal access and terms of use available at the collection
Strain probably in scope, please contact the culture collection
}
class `microbial_strain_data_model__classes__legal__Restriction`{
name: string
country: Country | null
authority: string | null
value: string
url: string | null
}
class `Pathogen`{
host: Host
pathogen: PathogenLevel
classification: string | null
url: string | null
source: string
}
class `Host`{
<<enumeration>>
plant
animal
invertebrates
vertebrates
mammals
non-human primates
human
fungi
}
class `PathogenLevel`{
<<enumeration>>
no pathogen
opportunistic
obligate
}
class `BioSafety`{
riskgroup: string
classification: string | null
url: string | null
source: string
}
class `Morphology`{
cellShape: string
cellLength: Size
cellWidth: Size
motile: boolean | null
flagellum: boolean | null
flagellumArrangement: FlagellumArrangement | null
gliding: boolean | null
colonySize: Size | null
colonyColor: ColonyColor | null
multiCellComplexForming: boolean | null
source: string
}
class `Size`{
minimal: number
maximal: number
unit: SizeUnit
}
class `SizeUnit`{
<<enumeration>>
µm
mm
}
class `FlagellumArrangement`{
<<enumeration>>
Polar
Peritrichous
Monotrichous polar
}
class `ColonyColor`{
<<enumeration>>
white
cream
yellowish
orange
pink
red
buff
darkbrown
reyish
tannish
beige
brownish
}
class `CellWall`{
name: string | null
identifier: array[Identifier]
alternateName: string
percent: number | null
source: string
}
class `Staining`{
name: string
value: StainingValue
source: string
}
class `StainingValue`{
<<enumeration>>
positive
negative
variable
}
class `Spore`{
sporeBuilding: boolean | null
typeOfSpore: SporeType
sporeEjection: string | null
relatedData: string
source: string
}
class `SporeType`{
<<enumeration>>
spore
endospore
}
class `GrowthCondition`{
optimalTemperature: number | null
minimalTemperature: number | null
maximalTemperature: number | null
testsTemperature: array[GrowthRange]
optimalPh: number | null
minimalPh: number | null
maximalPh: number | null
testsPh: array[GrowthRange]
oxygenRelation: OxygenTolerance | null
source: string
}
class `GrowthRange`{
minimal: number | null
maximal: number | null
growth: boolean
relatedData: string
}
class `OxygenTolerance`{
<<enumeration>>
aerobe
aerotolerant
anaerobe
facultative aerobe
facultative anaerobe
microaerophile
microaerotolerant
obligate aerobe
obligate anaerobe
}
class `CultivationMedia`{
name: string
url: string | null
reagentUsed: string
source: string
relatedData: string
}
class `Sequence`{
type: SequenceType
level: SequenceLevel
accessionNumber: string
description: string | null
length: string | null
identifier: array[Identifier]
source: string
}
class `SequenceType`{
<<enumeration>>
nucleotide
protein
}
class `SequenceLevel`{
<<enumeration>>
genome
identifier sequence
gene
artificial
other
}
class `GCContent`{
method: GCMethod | null
noteMethod: string | null
value: number
source: string
}
class `GCMethod`{
<<enumeration>>
experimental
genome sequence
}
class `FattyAcidProfile`{
profile: array[FattyAcid]
library: string | null
software: string | null
relatedData: string
source: string
}
class `FattyAcid`{
name: string | null
identifier: array[Identifier]
alternateName: string
percent: number | null
ecl: string | null
}
class `Hemolysis`{
blood: HemolysisBlood
hemolysisType: HemolysisType
source: string
}
class `HemolysisBlood`{
<<enumeration>>
sheep
horse
unknown
}
class `HemolysisType`{
<<enumeration>>
alpha
beta
gamma
}
class `Halophil`{
name: string | null
identifier: array[Identifier]
alternateName: string
minimal: number | null
maximal: number | null
optimal: number | null
unit: ConcentrationUnit
tests: array[GrowthRange]
source: string
}
class `ConcentrationUnit`{
<<enumeration>>
g/L
mol/L
g/g%
v/v%
unknown
}
class `Tolerance`{
name: string | null
identifier: array[Identifier]
alternateName: string
reaction: ToleranceReaction | null
mic: string | null
unit: ConcentrationUnit | null
tests: array[ToleranceTest]
source: string
}
class `ToleranceReaction`{
<<enumeration>>
sensitive
resistant
intermediate
}
class `ToleranceTest`{
reaction: ToleranceReaction
concentration: number | null
unit: ConcentrationUnit
relatedData: string
}
class `Enzyme`{
name: string | null
hasECNumber: string
identifier: array[Identifier]
alternateName: string
active: boolean | null
relatedData: string
source: string
}
class `Metabolite`{
name: string | null
identifier: array[Identifier]
alternateName: string
tests: array[MetaboliteTest]
source: string
}
class `MetaboliteTest`{
type: MetaboliteTestType
active: boolean | null
protocol: string | null
kindOfUtilization: KindOfUtilization | null
relatedData: string
}
class `MetaboliteTestType`{
<<enumeration>>
utilization
production
}
class `KindOfUtilization`{
<<enumeration>>
assimilation
builds acid from
degradation
energy source
fermentation
hydrolysis
reduction
}
class `Application`{
application: string
source: string
}
class `Collection`{
name: string
identifier: array[Identifier]
legalName: string | null
address: Address | null
url: string | null
email: string | null
logo: string | null
resourceNumber: string
available: boolean | null
catalogUrl: string | null
restrictionsOnUse: microbial_strain_data_model__classes__enums__Restriction | null
policyUrl: string | null
axenicCulture: boolean | null
supplyForms: array[SupplyForm]
history: string | null
depositionDate: string | null
depositor: Person | null
depositedAs: string | null
registeredCollection: boolean | null
mtaFile: string | null
absFile: string | null
source: string
}
class `microbial_strain_data_model__classes__enums__Restriction`{
<<enumeration>>
No known restrictions apply
Only for non-commercial purposes
For commercial development a special agreement is requested
}
class `SupplyForm`{
<<enumeration>>
Agar
Cryo
Dry ice
Liquid medium
Lyo
Oil
Water
DNA
}
class `Literature`{
name: string | null
url: string | null
datePublished: string | null
author: array[Person]
publisher: array[Organization]
source: string
}
class `OtherMedia`{
url: string | null
name: string | null
description: string | null
usageInfo: string | null
additionalType: string | null
source: string
}
class `RelatedData`{
relation: string
source: string
}
class `Source`{
sourceType: SourceType
mode: CurationMode
name: string | null
url: string | null
identifier: array[Identifier]
datePublished: string | null
dateRecorded: string
lastUpdate: string | null
author: array[Person]
publisher: array[Organization]
}
class `SourceType`{
<<enumeration>>
literature
website
dataset
}
class `CurationMode`{
<<enumeration>>
manual
automated
unknown
}
class `Strain`{
organismType: OrganismType
morphType: Morph | null
typeStrain: array[TypeStrain]
taxon: array[TaxonWithSource]
identifier: array[IdentifierStrain]
origin: array[Origin]
legal: array[Legal]
pathogenicity: array[Pathogen]
bioSafety: array[BioSafety]
morphology: array[Morphology]
wallConstituents: array[CellWall]
staining: array[Staining]
sporeFormation: array[Spore]
growthConditions: array[GrowthCondition]
cultivationMedia: array[CultivationMedia]
sequences: array[Sequence]
gcContent: array[GCContent]
fattyAcidProfiles: array[FattyAcidProfile]
hemolysis: array[Hemolysis]
halophily: array[Halophil]
tolerances: array[Tolerance]
enzymes: array[Enzyme]
metabolites: array[Metabolite]
knownApplications: array[Application]
collections: array[Collection]
literature: array[Literature]
otherMedia: array[OtherMedia]
relatedData: array[RelatedData]
sources: array[Source]
}
`Strain` ..> `OrganismType`
`Strain` ..> `Morph`
`Strain` ..> `TypeStrain`
`Strain` ..> `TaxonWithSource`
`TaxonWithSource` ..> `TaxonRank`
`TaxonWithSource` ..> `TaxonStatus`
`TaxonWithSource` ..> `Identifier`
`TaxonWithSource` ..> `ScientificName`
`TaxonWithSource` ..> `Taxon`
`Taxon` ..> `TaxonRank`
`Taxon` ..> `TaxonStatus`
`Taxon` ..> `Identifier`
`Taxon` ..> `ScientificName`
`Taxon` ..> `Taxon`
`Strain` ..> `IdentifierStrain`
`Strain` ..> `Origin`
`Origin` ..> `Country`
`Country` ..> `CountryHistoricalAlpha2`
`Country` ..> `CountryOtherCodes`
`Country` ..> `Identifier`
`Origin` ..> `Location`
`Location` ..> `GeoPoint`
`Origin` ..> `IsolationTag`
`Origin` ..> `Person`
`Person` ..> `Identifier`
`Origin` ..> `Organization`
`Organization` ..> `Identifier`
`Organization` ..> `Address`
`Origin` ..> `Person`
`Strain` ..> `Legal`
`Legal` ..> `NagoyaRestrictions`
`Legal` ..> `microbial_strain_data_model__classes__legal__Restriction`
`microbial_strain_data_model__classes__legal__Restriction` ..> `Country`
`Strain` ..> `Pathogen`
`Pathogen` ..> `Host`
`Pathogen` ..> `PathogenLevel`
`Strain` ..> `BioSafety`
`Strain` ..> `Morphology`
`Morphology` ..> `Size`
`Size` ..> `SizeUnit`
`Morphology` ..> `Size`
`Morphology` ..> `FlagellumArrangement`
`Morphology` ..> `Size`
`Morphology` ..> `ColonyColor`
`Strain` ..> `CellWall`
`CellWall` ..> `Identifier`
`Strain` ..> `Staining`
`Staining` ..> `StainingValue`
`Strain` ..> `Spore`
`Spore` ..> `SporeType`
`Strain` ..> `GrowthCondition`
`GrowthCondition` ..> `GrowthRange`
`GrowthCondition` ..> `GrowthRange`
`GrowthCondition` ..> `OxygenTolerance`
`Strain` ..> `CultivationMedia`
`Strain` ..> `Sequence`
`Sequence` ..> `SequenceType`
`Sequence` ..> `SequenceLevel`
`Sequence` ..> `Identifier`
`Strain` ..> `GCContent`
`GCContent` ..> `GCMethod`
`Strain` ..> `FattyAcidProfile`
`FattyAcidProfile` ..> `FattyAcid`
`FattyAcid` ..> `Identifier`
`Strain` ..> `Hemolysis`
`Hemolysis` ..> `HemolysisBlood`
`Hemolysis` ..> `HemolysisType`
`Strain` ..> `Halophil`
`Halophil` ..> `Identifier`
`Halophil` ..> `ConcentrationUnit`
`Halophil` ..> `GrowthRange`
`Strain` ..> `Tolerance`
`Tolerance` ..> `Identifier`
`Tolerance` ..> `ToleranceReaction`
`Tolerance` ..> `ConcentrationUnit`
`Tolerance` ..> `ToleranceTest`
`ToleranceTest` ..> `ToleranceReaction`
`ToleranceTest` ..> `ConcentrationUnit`
`Strain` ..> `Enzyme`
`Enzyme` ..> `Identifier`
`Strain` ..> `Metabolite`
`Metabolite` ..> `Identifier`
`Metabolite` ..> `MetaboliteTest`
`MetaboliteTest` ..> `MetaboliteTestType`
`MetaboliteTest` ..> `KindOfUtilization`
`Strain` ..> `Application`
`Strain` ..> `Collection`
`Collection` ..> `Identifier`
`Collection` ..> `Address`
`Collection` ..> `microbial_strain_data_model__classes__enums__Restriction`
`Collection` ..> `SupplyForm`
`Collection` ..> `Person`
`Strain` ..> `Literature`
`Literature` ..> `Person`
`Literature` ..> `Organization`
`Strain` ..> `OtherMedia`
`Strain` ..> `RelatedData`
`Strain` ..> `Source`
`Source` ..> `SourceType`
`Source` ..> `CurationMode`
`Source` ..> `Identifier`
`Source` ..> `Person`
`Source` ..> `Organization`