Skip to content

Analytical Information Markup Language

This page provides comprehensive information about the structure and components of the data model, including detailed descriptions of the types and their properties, information on enumerations, and an overview of the ontologies used and their associated prefixes. Below, you will find a graph that visually represents the overall structure of the data model.

Graph
flowchart TB
    animl(AnIML)
    sampleset(SampleSet)
    audittrailentryset(AuditTrailEntrySet)
    experimentstepset(ExperimentStepSet)
    sample(Sample)
    audittrailentry(AuditTrailEntry)
    template(Template)
    experimentstep(ExperimentStep)
    diff(Diff)
    author(Author)
    software(Software)
    tagset(TagSet)
    result(Result)
    method(Method)
    technique(Technique)
    infrastructure(Infrastructure)
    tag(Tag)
    category(Category)
    device(Device)
    extension(Extension)
    experimentdatareferenceset(ExperimentDataReferenceSet)
    parentdatapointreferenceset(ParentDataPointReferenceSet)
    samplereferenceset(SampleReferenceSet)
    seriesset(SeriesSet)
    parameter(Parameter)
    experimentdatareference(ExperimentDataReference)
    experimentdatabulkreference(ExperimentDataBulkReference)
    parentdatapointreference(ParentDataPointReference)
    samplereference(SampleReference)
    sampleinheritance(SampleInheritance)
    series(Series)
    siunit(SIUnit)
    endvalue(EndValue)
    individualvalueset(IndividualValueSet)
    unit(Unit)
    autoincrementedvalueset(AutoIncrementedValueSet)
    encodedvalueset(EncodedValueSet)
    startvalue(StartValue)
    increment(Increment)
    animl(AnIML) --> sampleset(SampleSet)
    animl(AnIML) --> experimentstepset(ExperimentStepSet)
    animl(AnIML) --> audittrailentryset(AuditTrailEntrySet)
    sampleset(SampleSet) --> sample(Sample)
    audittrailentryset(AuditTrailEntrySet) --> audittrailentry(AuditTrailEntry)
    experimentstepset(ExperimentStepSet) --> experimentstep(ExperimentStep)
    experimentstepset(ExperimentStepSet) --> template(Template)
    sample(Sample) --> tagset(TagSet)
    sample(Sample) --> category(Category)
    audittrailentry(AuditTrailEntry) --> author(Author)
    audittrailentry(AuditTrailEntry) --> software(Software)
    audittrailentry(AuditTrailEntry) --> diff(Diff)
    template(Template) --> tagset(TagSet)
    template(Template) --> technique(Technique)
    template(Template) --> infrastructure(Infrastructure)
    template(Template) --> method(Method)
    template(Template) --> result(Result)
    experimentstep(ExperimentStep) --> tagset(TagSet)
    experimentstep(ExperimentStep) --> technique(Technique)
    experimentstep(ExperimentStep) --> infrastructure(Infrastructure)
    experimentstep(ExperimentStep) --> method(Method)
    experimentstep(ExperimentStep) --> result(Result)
    tagset(TagSet) --> tag(Tag)
    result(Result) --> seriesset(SeriesSet)
    result(Result) --> category(Category)
    method(Method) --> author(Author)
    method(Method) --> device(Device)
    method(Method) --> software(Software)
    method(Method) --> category(Category)
    technique(Technique) --> extension(Extension)
    infrastructure(Infrastructure) --> samplereferenceset(SampleReferenceSet)
    infrastructure(Infrastructure) --> parentdatapointreferenceset(ParentDataPointReferenceSet)
    infrastructure(Infrastructure) --> experimentdatareferenceset(ExperimentDataReferenceSet)
    category(Category) --> parameter(Parameter)
    category(Category) --> seriesset(SeriesSet)
    category(Category) --> category(Category)
    experimentdatareferenceset(ExperimentDataReferenceSet) --> experimentdatareference(ExperimentDataReference)
    experimentdatareferenceset(ExperimentDataReferenceSet) --> experimentdatabulkreference(ExperimentDataBulkReference)
    parentdatapointreferenceset(ParentDataPointReferenceSet) --> parentdatapointreference(ParentDataPointReference)
    samplereferenceset(SampleReferenceSet) --> samplereference(SampleReference)
    samplereferenceset(SampleReferenceSet) --> sampleinheritance(SampleInheritance)
    seriesset(SeriesSet) --> series(Series)
    parameter(Parameter) --> unit(Unit)
    parentdatapointreference(ParentDataPointReference) --> startvalue(StartValue)
    parentdatapointreference(ParentDataPointReference) --> endvalue(EndValue)
    series(Series) --> individualvalueset(IndividualValueSet)
    series(Series) --> encodedvalueset(EncodedValueSet)
    series(Series) --> autoincrementedvalueset(AutoIncrementedValueSet)
    series(Series) --> unit(Unit)
    unit(Unit) --> siunit(SIUnit)
    autoincrementedvalueset(AutoIncrementedValueSet) --> startvalue(StartValue)
    autoincrementedvalueset(AutoIncrementedValueSet) --> increment(Increment)

    click animl "#animl" "Go to AnIML"
    click sampleset "#sampleset" "Go to SampleSet"
    click audittrailentryset "#audittrailentryset" "Go to AuditTrailEntrySet"
    click experimentstepset "#experimentstepset" "Go to ExperimentStepSet"
    click sample "#sample" "Go to Sample"
    click audittrailentry "#audittrailentry" "Go to AuditTrailEntry"
    click template "#template" "Go to Template"
    click experimentstep "#experimentstep" "Go to ExperimentStep"
    click diff "#diff" "Go to Diff"
    click author "#author" "Go to Author"
    click software "#software" "Go to Software"
    click tagset "#tagset" "Go to TagSet"
    click result "#result" "Go to Result"
    click method "#method" "Go to Method"
    click technique "#technique" "Go to Technique"
    click infrastructure "#infrastructure" "Go to Infrastructure"
    click tag "#tag" "Go to Tag"
    click category "#category" "Go to Category"
    click device "#device" "Go to Device"
    click extension "#extension" "Go to Extension"
    click experimentdatareferenceset "#experimentdatareferenceset" "Go to ExperimentDataReferenceSet"
    click parentdatapointreferenceset "#parentdatapointreferenceset" "Go to ParentDataPointReferenceSet"
    click samplereferenceset "#samplereferenceset" "Go to SampleReferenceSet"
    click seriesset "#seriesset" "Go to SeriesSet"
    click parameter "#parameter" "Go to Parameter"
    click experimentdatareference "#experimentdatareference" "Go to ExperimentDataReference"
    click experimentdatabulkreference "#experimentdatabulkreference" "Go to ExperimentDataBulkReference"
    click parentdatapointreference "#parentdatapointreference" "Go to ParentDataPointReference"
    click samplereference "#samplereference" "Go to SampleReference"
    click sampleinheritance "#sampleinheritance" "Go to SampleInheritance"
    click series "#series" "Go to Series"
    click siunit "#siunit" "Go to SIUnit"
    click endvalue "#endvalue" "Go to EndValue"
    click individualvalueset "#individualvalueset" "Go to IndividualValueSet"
    click unit "#unit" "Go to Unit"
    click autoincrementedvalueset "#autoincrementedvalueset" "Go to AutoIncrementedValueSet"
    click encodedvalueset "#encodedvalueset" "Go to EncodedValueSet"
    click startvalue "#startvalue" "Go to StartValue"
    click increment "#increment" "Go to Increment"

Types

AnIML

ComplexType for the root element of an AnIML document. The AnIML element serves as the container for all data and metadata in an analytical data file. It contains version information, sample definitions, experimental data organized in steps, and an audit trail of changes made to the document.

version* string

  • Version number of the AnIML Core Schema used in this document. Must be '0.90'.

  • Default: 0.9

sample_set SampleSet

  • Container for Samples used in this AnIML document.

experiment_step_set ExperimentStepSet

  • Container for multiple ExperimentSteps that describe the process and results.

audit_trail_entry_set AuditTrailEntrySet

  • Container for audit trail entries describing changes to this document.

SampleSet

Container for Samples used in this AnIML document. The SampleSet element acts as a registry of all samples referenced throughout the document, allowing samples to be defined once and referenced multiple times. This centralized approach ensures consistency in sample identification and properties across the entire analytical workflow.

sample list[Sample]

  • Individual Sample, referenced from other parts of this AnIML document.

AuditTrailEntrySet

Container for audit trail entries describing changes to this document. The AuditTrailEntrySet maintains a chronological record of all modifications made to the AnIML document, including who made the changes, when they were made, and what specific changes occurred. This provides full traceability and compliance with data integrity requirements.

audit_trail_entry list[AuditTrailEntry]

  • Describes a set of changes made to the particular AnIML document by one user at a given time.

ExperimentStepSet

Container for multiple ExperimentSteps that describe the process and results. The ExperimentStepSet organizes the analytical workflow into discrete steps, where each step represents the application of a specific analytical technique. This structure allows for clear documentation of complex, multi-step analytical procedures while maintaining relationships between steps.

experiment_step list[ExperimentStep]

  • Container that documents a step in an experiment. Use one ExperimentStep per application of a Technique.

template list[Template]

  • Represents a template for an ExperimentStep.

Sample

Individual Sample, referenced from other parts of this AnIML document. The Sample element provides comprehensive documentation of a physical or virtual sample, including its identification, physical location, containment hierarchy, and any relevant metadata. It supports both simple samples and complex container-based sample organizations like well plates.

name* string

  • Plain-text name of this item.

sample_id* string

  • None

barcode string

  • Value of barcode label that is attached to sample container.

comment string

  • Unstructured text comment to further describe the Sample.

derived string

  • Indicates whether this is a derived Sample. A derived Sample is a Sample that has been created by applying a Technique. (Sub-Sampling, Processing, ...)

container_type string

  • Whether this sample is also a container for other samples. Set to 'simple' if not.

container_id string

  • Sample ID of container in which this sample is located.

location_in_container string

  • Coordinates of this sample within the enclosing container. In case of microplates or trays, the row is identified by letters and the column is identified by numbers (1-based) while in landscape orientation. Examples: A10 = 1st row, 10th column, Z1 = 26th row, 1st column, AB2 = 28th row, 2nd column.

source_data_location string

  • Points to the original data source. May be a file name, uri, database ID, etc.

tag_set TagSet

  • Set of Tag elements.

category list[Category]

  • Defines a category of Parameters and SeriesSets. Used to model hierarchies.

AuditTrailEntry

Describes a set of changes made to the particular AnIML document by one user at a given time. The AuditTrailEntry element captures the complete context of a document modification event, including who made the change, when it occurred, what software was used, and both human-readable and machine-readable descriptions of the changes. This enables full traceability of document history.

timestamp* string

  • Date and time of modification.

author* Author

  • Information about a person, a device or a piece of software authoring AnIML files.

action* string

  • Type of change made (created, modified, ...)

software Software

  • Software used to author this.

reason string

  • Explanation why changes were made.

comment string

  • Human-readable comment further explaining the changes.

diff list[Diff]

  • Machine-readable description of changes made.

reference list[string]

  • ID of the SignableItem that was affected. If none is specified, entire document is covered.

Template

Represents a template for an ExperimentStep.

name* string

  • Plain-text name of this item.

template_id* string

  • None

source_data_location string

  • Points to the original data source. May be a file name, uri, database ID, etc.

tag_set TagSet

  • Set of Tag elements.

technique Technique

  • Reference to Technique Definition used in this Experiment.

infrastructure Infrastructure

  • Contains references to the context of this Experiment.

method Method

  • Describes how this Experiment was performed.

result list[Result]

  • Container for Data derived from Experiment.

ExperimentStep

Container that documents a step in an experiment. Use one ExperimentStep per application of a Technique.

name* string

  • Plain-text name of this item.

experiment_step_id* string

  • Unique identifier for this ExperimentStep. Used to point to this step from an ExperimentDataReference.

template_used string

  • None

comment string

  • Unstructured text comment to further describe the ExperimentStep.

source_data_location string

  • Points to the original data source. May be a file name, uri, database ID, etc.

tag_set TagSet

  • Set of Tag elements.

technique Technique

  • Reference to Technique Definition used in this Experiment.

infrastructure Infrastructure

  • Contains references to the context of this Experiment.

method Method

  • Describes how this Experiment was performed.

result list[Result]

  • Container for Data derived from Experiment.

Diff

Machine-readable description of changes made.

scope* string

  • Scope of diff. May be 'element' or 'attribute'.

changed_item* string

  • ID of the SignableItem that was changed

old_value* string

  • No descripiton provided

new_value* string

  • No descripiton provided

Author

Information about a person, a device or a piece of software authoring AnIML files.

user_type* string

  • Type of user (human, device, software)

name* string

  • Common name.

affiliation string

  • Organization the Author is affiliated with.

role string

  • Role the Author plays within the organization.

email string

  • RFC822-compliant email address.

phone string

  • Phone number.

location string

  • Location or physical address.

Software

Software used to author this.

name* string

  • Common name.

manufacturer string

  • Company name.

version string

  • Version identifier of software release.

operating_system string

  • Operating system the software was running on.

TagSet

Set of Tag elements.

tag list[Tag]

  • Tag to mark related data items. When a value is given, it may also serve as a reference to an external data system.

Result

Container for Data derived from Experiment.

name* string

  • Plain-text name of this item.

series_set SeriesSet

  • Container for n-dimensional Data.

category list[Category]

  • Defines a category of Parameters and SeriesSets. Used to model hierarchies.

Method

Describes how this Experiment was performed.

name string

  • Optional method name, as defined in the instrument software.

author Author

  • Information about a person, a device or a piece of software authoring AnIML files.

device Device

  • Device used to perform experiment.

software Software

  • Software used to author this.

category list[Category]

  • Defines a category of Parameters and SeriesSets. Used to model hierarchies.

Technique

Reference to Technique Definition used in this Experiment.

name* string

  • Plain-text name of this item.

uri* string

  • URI where Technique Definition file can be fetched.

sha256 string

  • SHA256 checksum of the referenced Technique Definition. Hex encoded, lower cased. Similar to the output of the sha256 unix command.

extension list[Extension]

  • Reference to an Extension to amend the active Technique Definition.

Infrastructure

Contains references to the context of this Experiment.

sample_reference_set SampleReferenceSet

  • Set of Samples used in this Experiment.

parent_data_point_reference_set ParentDataPointReferenceSet

  • Contains references to the parent Result.

experiment_data_reference_set ExperimentDataReferenceSet

  • Set of Experiment Steps consumed by this Experiment Step.

timestamp string

  • Date and time of modification.

Tag

Tag to mark related data items. When a value is given, it may also serve as a reference to an external data system.

name* string

  • None

value string

  • None

Category

Defines a category of Parameters and SeriesSets. Used to model hierarchies.

name* string

  • Plain-text name of this item.

parameter list[Parameter]

  • Name/Value Pair.

series_set list[SeriesSet]

  • Container for n-dimensional Data.

category list[Category]

  • Defines a category of Parameters and SeriesSets. Used to model hierarchies.

Device

Device used to perform experiment.

name* string

  • Common name.

device_identifier string

  • Unique name or identifier of the device.

manufacturer string

  • Company name.

firmware_version string

  • Version identifier of firmware release.

serial_number string

  • Unique serial number of device.

Extension

Reference to an Extension to amend the active Technique Definition.

uri* string

  • URI where Extension file can be fetched.

name* string

  • Name of Extension to be used. Must match Name given in Extension Definition file.

sha256 string

  • SHA256 checksum of the referenced Extension. Hex encoded, lower cased. Similar to the output of the sha256 unix command.

ExperimentDataReferenceSet

Set of Experiment Steps consumed by this Experiment Step.

experiment_data_reference list[ExperimentDataReference]

  • Reference to an Experiment Step whose data is consumed.

experiment_data_bulk_reference list[ExperimentDataBulkReference]

  • Prefix-based reference to a set of Experiment Steps whose data are consumed.

ParentDataPointReferenceSet

Contains references to the parent Result.

parent_data_point_reference* list[ParentDataPointReference]

  • Reference to a data point or value range in an independent Series in the parent Result.

SampleReferenceSet

Set of Samples used in this Experiment.

sample_reference list[SampleReference]

  • Reference to a Sample used in this Experiment.

sample_inheritance list[SampleInheritance]

  • Indicates that a Sample was inherited from the parent ExperimentStep.

SeriesSet

Container for n-dimensional Data.

name* string

  • Plain-text name of this item.

length* string

  • Number of data points each Series contains.

series* list[Series]

  • Container for multiple Values.

Parameter

Name/Value Pair.

name* string

  • Plain-text name of this item.

parameter_type* string

  • Data type of this parameter

value* integer``float``string``boolean

  • I: Individual integer value (32 bits, signed). L: Individual long integer value (64 bits, signed). F: Individual 32-bit floating point value. D: Individual 64-bit floating point value. S: Individual string value. Boolean: Individual boolean value.

unit Unit

  • Unit: Definition of a Scientific Unit.

ExperimentDataReference

Reference to an Experiment Step whose data is consumed.

role* string

  • None

data_purpose* string

  • None

experiment_step_id* string

  • None

ExperimentDataBulkReference

Prefix-based reference to a set of Experiment Steps whose data are consumed.

role* string

  • None

data_purpose* string

  • None

experiment_step_id_prefix* string

  • None

ParentDataPointReference

Reference to a data point or value range in an independent Series in the parent Result.

series_id* string

  • Contains the ID of the Series referenced.

start_value* StartValue

  • Lower boundary of an interval or ValueSet.

end_value EndValue

  • Upper boundary of an interval.

SampleReference

Reference to a Sample used in this Experiment.

sample_id* string

  • SampleID of the Sample used in the current ExperimentStep. Refers to the sampleID within the SampleSet section of the document.

role* string

  • Role this sample plays within the current ExperimentStep.

sample_purpose* string

  • Specifies whether the referenced sample is produced or consumed by the current ExperimentStep.

SampleInheritance

Indicates that a Sample was inherited from the parent ExperimentStep.

role* string

  • Role this sample plays within the current ExperimentStep.

sample_purpose* string

  • Specifies whether the referenced sample is produced or consumed by the current ExperimentStep.

Series

Container for multiple Values.

name* string

  • Plain-text name of this item.

dependency* string

  • Specified whether the Series is independent or dependent.

series_id* string

  • Identifies the Series. Used in References from subordinate ExperimentSteps. Unique per SeriesSet.

series_type* string

  • Data type used by all values in this Series.

visible string

  • Specifies whether data in this Series is to be displayed to the user by default.

plot_scale string

  • Specifies whether the data in this Series is typically plotted on a linear or logarithmic scale.

value_set IndividualValueSetEncodedValueSetAutoIncrementedValueSet

  • IndividualValueSet: Multiple Values explicitly specified. EncodedValueSet: Multiple numeric values encoded as a base64 binary string. Uses little-endian byte order. AutoIncrementedValueSet: Multiple values given in form of a start value and an increment.

unit Unit

  • Definition of a Scientific Unit.

SIUnit

Combination of SI Units used to represent Scientific unit

factor string

  • None

exponent string

  • None

offset string

  • None

EndValue

Upper boundary of an interval.

value* integer``float

  • I: Individual integer value (32 bits, signed). L: Individual long integer value (64 bits, signed). F: Individual 32-bit floating point value. D: Individual 64-bit floating point value.

IndividualValueSet

Multiple Values explicitly specified.

values* list[float]``list[integer]``list[string]``list[boolean]

  • I: Individual integer value (32 bits, signed). L: Individual long integer value (64 bits, signed). F: Individual 32-bit floating point value. D: Individual 64-bit floating point value. S: Individual string value. Boolean: Individual boolean value.

start_index string

  • Zero-based index of the first entry in this Value Set. The specification is inclusive.

end_index string

  • Zero-based index of the last entry in this Value Set. The specification is inclusive.

Unit

Definition of a Scientific Unit.

label* string

  • Defines the visual representation of a particular Unit.

quantity string

  • Quantity the unit can be applied to

si_unit list[SIUnit]

  • Combination of SI Units used to represent Scientific unit

AutoIncrementedValueSet

Multiple values given in form of a start value and an increment.

start_value* StartValue

  • Lower boundary of an interval or ValueSet.

increment* Increment

  • Increment value

start_index string

  • Zero-based index of the first entry in this Value Set. The specification is inclusive.

end_index string

  • Zero-based index of the last entry in this Value Set. The specification is inclusive.

EncodedValueSet

Multiple numeric values encoded as a base64 binary string. Uses little-endian byte order.

start_index string

  • Zero-based index of the first entry in this Value Set. The specification is inclusive.

end_index string

  • Zero-based index of the last entry in this Value Set. The specification is inclusive.

StartValue

Lower boundary of an interval or ValueSet.

value* integer``float

  • I: Individual integer value (32 bits, signed). L: Individual long integer value (64 bits, signed). F: Individual 32-bit floating point value. D: Individual 64-bit floating point value.

Increment

Increment value

value* integer``float

  • I: Individual integer value (32 bits, signed). L: Individual long integer value (64 bits, signed). F: Individual 32-bit floating point value. D: Individual 64-bit floating point value.