ChemicalDocument

    Chemaxon specific JSON representation of a chemical document.

    Fields

    field type description
    $schema string The url for the schema the CXON file is compliant with.
    $version string The version of the CXON schema (e.g.: 1.0.0).
    title string The title of the entire chemical document.
    comment string? Comment for the chemical document.
    molecules Molecule[] List of the simple Molecules in the document. Reaction and Markush components are handled separately.
    graphicalElectrons { [k: string]: any; }? Container object for electronflow related elements (electrons and electronFlows).
    reactions Reaction[] List of chemical Reactions in the document.
    markushStructures MarkushStructure[] List of Markush structures in the document.
    graphicalObjects (Arrow | Bracket | Ellipse | Image | Path | Rectangle | TextBox | PlusSign | GraphicalArc)[]? List of graphical objects in the document.
    displayProperties DisplayProperties? Object to hold all display related properties, such as visibility options, rendering hints, or graphical statuses.
    properties ExtraProperties? Key-value pairs of additional custom properties.
    attachedData Data[]? List of data objects that hold data for objects in this document.

    Molecule

    A simple chemical structure. Can be listed in the document as is, or defined as an entity in a Reaction or Markush structure.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    nature MoleculeNature Logical property of the molecule, marking its type from cheminformatical point of view. PLAIN is for regular molecules, NO_STRUCTURE for placeholder molecule for search purposes. SALT is for salt-type structures.
    chiralityInterpretation MoleculeChiralityInterpretation? Describes how this molecule should be interpreted regarding chirality. Default is UNKNOWN. If ABSOLUTE value is set, this molecule describes one specific enantiomer. If UNKNOWN value is set, the chirality is unknown, it can represent any of the enantiomers or their mixture.
    atoms Atom[] The list of the Atoms in this molecule.
    bonds Bond[] The list of the Bonds in this molecule.
    positionVariationBonds PositionVariationBond[]? The list of the variable bonds in this molecule. These bonds are used in Markush structures, queries and other variable structures. Aliases: position variation bond, variable attachment point.
    complexCoordinateBonds ComplexCoordinateBond[]? The list of the bonds associated to a collection of starting atoms in this molecule. These bonds are used in representing bonding of delocalized structures to electron acceptors, typically in organometallics.
    groups (Abbreviation | RepeatingUnit | General | Multiple)[] The list of the Groups in this molecule.
    properties ExtraProperties? Key-value pairs of additional custom properties.

    Abbreviation

    An abbreviation group. These groups can be represented with their structure it self, or by a placeholder atom.

    Fields

    field type description
    id string Reference id of this group. Should be unique for the entire document
    type AbbreviationType Type of this Group. Use AMINO_ACID for aminoacids, and ABBREVIATION for all other.
    name string The name of this Group. In case of abbreviation this is the default label for the placeholder.
    location Location? The coordinate of this Group. This location should be used if the group is contracted. If omitted, it should be considered as (0;0;0).
    atoms string[] The reference ids of the Atoms in this Group.
    bonds string[]? The reference ids of the Bonds in this Group.
    attachmentPoints AttachmentPoint[]? The AttachmentPoints of this group.

    AttachmentPoint

    AttachmentPoint descriptor object. Describes a site in this Group on which it can bond with other substances. It has an order which can have conventional meaning, such as in case of amino acids the amid bonds are formed from one amino acid's 2nd AttachmentPoint to another's 1st AttachmentPoint.

    Fields

    field type description
    atom string? The reference id of the Atom that serves as the site of chemical bonding with other substances.
    order number? The unique order of the AttachmentPoint. The AttachmentPoint orders in a Group should be a sequential set of positive integers starting from 1.

    RepeatingUnit

    Fields

    field type description
    id string Reference id of this group. Should be unique for the entire document
    type RepeatingUnitType Type of this Group. Has to be REPEATING_UNIT.
    atoms string[] The reference ids of the Atoms in this Group.
    bonds string[]? The reference ids of the Bonds in this Group.
    repetition Repetition Describes the repetition of monomers in a repeating unit group

    Repetition

    Describes the repetition of monomers in a repeating unit group

    Fields

    field type description
    value string The value of the repetition. Either an exact integer, a repetition range, or a comma separated list of these, or a single letter variable name.
    pattern RepetitionPattern? The pattern of the repetition. Default is HEAD_TO_TAIL, which means the monomer repeats without alternation. HEAD_TO_HEAD means that the monomers are alternating.
    flip boolean? A flag to describe the repetition pattern at crossing bonds. Default value is false. If true, the matching of crossing bonds has to be done in a reverse order. (See description of head property).
    head string[]? The crossing bond reference ids for the head. Although this property is optional, the repeating unit group is not defined well if this property is omitted and the group does not have exactly two crossing bonds. In case of HEAD_TO_TAIL or UNKNOWN pattern, the count of head bonds must match the count of tail bonds. This case the head and tail bonds should be matched by their indices (original or opposite order based on the flip property). If the pattern is HEAD_TO_HEAD, there is no restriction on the count and both crossing bond lists (head and tail) are matched to themselves (original or opposite order based on the flip property).
    tail string[]? The crossing bond reference ids for the tail. Restriction and descripton can be read in the description of the head property. (The union of head and tail sets should be the complete crossing bond reference id set of the repeating unit group)

    General

    A general group that able to collect atoms and bonds, and it has an optional label.

    Fields

    field type description
    id string Reference id of this Group. Should be unique for the entire document
    type GeneralType Type of this Group. Has to be GENERAL.
    atoms string[] The reference ids of the Atoms in this Group.
    bonds string[]? The reference ids of the Bonds in this Group.
    label string? The label of this Group.

    Multiple

    Multiple group that is like a general group, but has multiplicity

    Fields

    field type description
    id string Reference id of this group. Should be unique for the entire document
    type MultipleType Type of this group. Has to be MULTIPLE.
    atoms string[] The reference ids of the atoms in this group.
    bonds string[]? The reference ids of the bonds in this group.
    label string? The label of this group.
    multiplicity number? The group occurs that many times in the molecule.

    Electron

    Describes a graphical representation for an electron or electron pair. These must not be taken into consideration when building a chemical model.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    hostAtom string The referenceId of the host atom.
    type ElectronType The type of the electron. LONE_PAIR, RADICAL, or RADICAL_PAIR.
    location Location? The location of this object. In case of an electron pair, this location is the point halfway between the two electrons.

    ElectronFlow

    Visual representation of an electron transition.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    source string The referenceId of the source object of this transition.
    target string The referenceId of the target object of this transition.
    type ElectronFlowType The type of the flow as how many electrons move from the source to the target. SINGLE or DOUBLE.
    customArrow CustomElectronFlowArrow? The customization options to display the arrow for this transition.

    Reaction

    A chemical Reaction. Only single step reactions are supported.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document
    direction ReactionDirection? The direction of the reaction. If omitted, the reaction direction is FORWARD
    reactants Molecule[] The list of the reactants of the reaction.
    agents Molecule[] The list of the agents of the reaction.
    products Molecule[] The list of the products of the reaction.

    MarkushStructure

    A Markush structure object. A Markush structure is defined by a scaffold, a list of Definitions and an optional Logic to describe extra rules for Definition substitutions.

    Fields

    field type description
    id string? Reference id of this object. Should be unique for the entire document.
    scaffold (Molecule | Reaction)? The scaffold (root structure) of this Markush.
    definitions Definitions[]? The list of the variable Definitions for this Markush.
    logic Logic[]? The extra rules for the Definiton substitutions

    Definitions

    Markush Definitons is a list of alternatives the R-atoms can be substituted with.

    Fields

    field type description
    name string? The name of the definition. Usually the label of the corresponding R-atom. Functions as an id as well, so it has to be unique within this Markush structure.
    alternatives Molecule[]? The applicable alternatives for this definition. This definition can be substituted with any of these alternatives.

    Logic

    The extra rules for the Definiton substitutions

    Fields

    field type description
    targetDefinition string? The name of the Definition this logic defined for.
    occurenceCount string? The desired substitution count of the target Definition as a string. The value represents either an exact count or an open or closed range.
    restH boolean? This Logic triggers if and only if all substitutions of the R-atoms of the scaffold are either an alternative from the target or a Hydrogen atom.
    thenDefinition string? Makes this Logic an if-then type conditional Logic and specifies the then-definition name.

    Atom

    An atom object. Basic building block of molecule objects. Either can be a natural chemical element, or a logical placeholder for custom entities, such as groups attachment points, query entities or Markush atoms.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document
    symbol string The symbol of this Atom, that is the chemical symbol of a natural element, or the symbol of a logical atom.
    homology string? homology group, represented as a string
    atomList string? atom list, represented as a string. E.g. '[F,Cl]' or '![Na,Mg,Ca]'
    rGroupRef string? Definition of the R group
    alias string? A custom label to override the label of this Atom in some cases.
    charge number? The electrical charge (formal charge) of this Atom as a signed integer. Should be omitted for uncharged Atoms.
    isotope number? The isotopical mass (sum of the count of protons and count of neutrons in the nucleus) of this Atom as a positive integer.
    location Location? The coordinate of this Atom. If omitted, it should be considered as (0;0;0).
    mapping number? Atom-to-Atom mapping index: correspondence of Atoms in different structures. Do not confuse with numbering, which is a dynamic, calculated value, stored as the name of the numbering algorithm for the entire document.
    radical AtomRadical? Free radical value of the Atom.
    stereo Stereo? The stereochemistry-properties attached to this atom
    implicitHydrogenCount number? Indicates the suggested number of implicit hydrogens bound to this Atom. Correct values can vary in different systems. When the value is considered incorrect it can be ignored. This is not a query property.
    query AtomQuery? The query features attached to this atom
    rGroupAttachmentOrder number? The order number of the atom in the series of the R-Atom's (in the scaffold that is to be substituted by this R-Definition) neighbours (see rGroupLigandOrder property of an R-Atom) this Attachment-atom will substitute. (In other words: in the scaffold, each atom connected to an R-Atom is mapped to an attachment-point in each alternative of the corresponding R-Definition. This property on the attachment point and the rGroupLigandOrder property of the R-Atom define this mapping.)
    rGroupLigandOrder string[]? The reference ids of the Atoms connected to this R-Atom (in a markush scaffold). This property defines the order of these atoms, so an attachment Atom's (in an R-Definition alternative) rGroupAttachmentOrder can be an order number from this ordered list.
    valence number? The maximum possible value of the sum of the covalent orders for this atom.
    properties ExtraProperties? Key-value pairs of additional custom properties.

    Location

    Three dimensional coordinate to mark a Location. In CXON it is a molecular Cartesian coordinate in Angstroms.

    Fields

    field type description
    x number X-coordinate.
    y number Y-coordinate.
    z number Z-coordinate.

    Bond

    A Bond object, which is a basic building block of Molecule objects. Can be a chemical bond or a query bond.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    type BondType Type of this Bond.
    startAtom string The reference id of the Atom this bond starts at. The direction is not important in most cases, but relevant for stereochemical and dative bonds.
    endAtom string The reference id of the Atom this bond ends at. The direction is not important in most cases, but relevant for stereochemical and dative bonds.
    query BondQuery? The query features attached to this bond
    properties ExtraProperties? Key-value pairs of additional custom properties.

    PositionVariationBond

    A variable bond used in Markush structures, queries and other variable structures. Aliases: position variation bond, variable attachment point.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    type PositionVariationBondType Type of this Bond.
    startAtoms string[] The reference id list of the possible atoms this bond can start at. The direction is not important in most cases, but relevant for stereochemical and dative bonds.
    endAtoms string[] The reference id list of the possible atoms this bond can end at. The direction is not important in most cases, but relevant for stereochemical and dative bonds.
    query BondQuery? The query features attached to this bond
    properties ExtraProperties? Key-value pairs of additional custom properties.

    ComplexCoordinateBond

    A bond used in representing bonding of delocalized structures to electron acceptors, typically in organometallics, where the starting point of the bond is a collection of atoms. It is always a coordinate bond.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    startAtoms string[] The reference id list of the atoms this bond starts at. This is the donating end of the bond.
    endAtom string The reference id of the atom bond ends at. This is the accepting end of the bond.
    query BondQuery? The query features attached to this bond
    properties ExtraProperties? Key-value pairs of additional custom properties.

    Paragraph

    Paragraphs are newline separated portions of a text. Paragraph consists of an array of sections, which are independently formattable portions of text.

    Fields

    field type description
    sections Section[] The content of the Paragraph. An array of formatted Sections, which are continuous portions of text separated only for formatting, the content should be joined without any additional delimiter.

    Section

    Sections of a Paragraph separated only for formatting purposes. Each Section has one formatting setup, there are no embedded sections, hence no style inheritance. Any formatting option not specified in the section falls back to the default value of the Textbox

    Fields

    field type description
    text string Plain textual content of the Section without formatting.
    font Font? The font properties of the Section. If not specified, then the visualizer/renderer chooses the font.
    formula boolean? Indicates if this Section contains a chemical formula or not. Purely for marker purposes, to mark the intentions of the editor.
    color string? The color of the Section's text, specified as a HTML color code.
    backgroundColor string? The background-color of the Section's text, specified as a HTML color code.

    Font

    Font descriptor object.

    Fields

    field type description
    family string? The actual font family, such as 'Arial' or 'Times New Roman', or a logical family such as 'Serif'.
    size number? The size of the Font in points.
    style FontStyle[]? The Font's style.

    Stroke

    An object to specify properties for lines, borders, etc.

    Fields

    field type description
    style StrokeStyle? The style of this Stroke, modifies the line style of this Stroke.
    color string? The color of this Stroke, specified as a HTML color code.
    thickness number? The thickness of this Stroke in points. For best results, use positive integer values.

    CustomElectronFlowArrow

    Customization options to display an arrow of an electronFlow.

    Fields

    field type description
    arc SvgArc The SVG style descriptor of the arc of the arrow.

    Arrow

    A graphical Arrow, which is a directed line from one Location to another.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be ARROW
    arrowType (ArrowType | DeprecatedArrowType)? Type of this Arrow: SINGLE(----->), DOUBLE(=====>), ASYMMETRIC_DOUBLE(--==--)
    head ArrowEndpoint Properties of the Head of this Arrow. The Head is at the Location this Arrow is directed to.
    tail ArrowEndpoint Properties of the Tail of this Arrow. The Tail is at the Location this Arrow is directed from.
    line Stroke? The line of this Arrow. In most cases it is the arrow itself, but for example in case of BLOCK arrow, it is the outline.
    arc SvgArc? The SVG style descriptor of the arc of this arrow. Should be specified only for CURVED arrows.
    properties ExtraProperties? Key-value pairs of additional custom properties.

    GraphicalArc

    A graphical undirected Arc.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be ARC
    points Location[] The endpoints of this Arc
    line Stroke? The graphical properties of this Arc's line.
    arc SvgArc The SVG style descriptor of the Arc.
    properties ExtraProperties? Key-value pairs of additional custom properties.

    SvgArc

    This property describes an SVG-style arc. The SVG path's d attribute that describes this arc is: M startX,startY A rx,ry xAxisRotation largeArcFlag sweepFlag endX,endY where start- and end- mark the arc's start- and end-points' locations (in case of an arrow: the tail's and the head's locations respectively / in case of a graphical-arc: its points' locations in the given order). For further details please visit https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands.

    Fields

    field type description
    rx number The radius of the ellipse on the x-axis
    ry number The radius of the ellipse on the y-axis
    xAxisRotation number The rotation of the ellipse on the x-axis in degrees
    largeArcFlag number Specifies if the arc sweep can be greater than 180 degrees or not. For further details please visit https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands
    sweepFlag number Specifies if the arc is drawn in a positive-angle direction or not. For further details please visit https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands

    Bracket

    A graphical Bracket, which is a pair of brackets enclosing an area.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be BRACKET
    line Stroke? The line of this Bracket
    type BracketType? The type of this Bracket. If not specified, it is considered SQUARE([]). Also can be ROUND(()), BRACES({}), or CHEVRONS(<>)
    properties ExtraProperties? Key-value pairs of additional custom properties.
    points Location[] The corner points of the bracketed area in the order top-left, top-right, bottom-right and bottom-left.

    Ellipse

    A graphical Ellipse.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be ELLIPSE
    background string? The background color of this Ellipse, specified as a HTML color code. Not specified means transparent.
    border Stroke? The border of this Ellipse. An object of border properties. Right now only the color and thickness can be specified.
    properties ExtraProperties? Key-value pairs of additional custom properties.
    points Location[] The corners of the bounding rectangle in the order top-left, top-right, bottom-right and bottom-left. The corners has to be defined in the atomic space to keep the relative position to the chemical content. The defined rectangle scaled up into the graphical space gives the area the shape should be rendered into.

    Image

    An Image that can be remote or embedded into this document as a base64 encoded image.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be IMAGE
    url string? The URL of this Image
    placeholder string? Base64 encoded image to render if the remote image is not available, or while it is loading
    image string? Base64 encoded image
    properties ExtraProperties? Key-value pairs of additional custom properties.
    points Location[] The corners of the bounding rectangle in the order top-left, top-right, bottom-right and bottom-left. The corners has to be defined in the atomic space to keep the relative position to the chemical content. The defined rectangle scaled up into the graphical space gives the area the image should be rendered into.
    crop Location[]? The corners of the bounding rectangle of the crop area in the order top-left, top-right, bottom-right and bottom-left. The corners has to be defined in the atomic space to keep the relative position to the chemical content. The defined rectangle scaled up into the graphical space gives the area the image should be rendered into.

    Path

    A graphical path/polyline which connects 2 or more points

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be PATH
    points Location[] Array of points of the path/polyline
    smoothened boolean? Boolean value describing whether the path/polyline is smoothened or not
    line Stroke? The line style (stroke) of the graphical object
    properties ExtraProperties? Key-value pairs of additional custom properties.

    Rectangle

    A graphical Rectangle.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be RECTANGLE
    background string? The background color of this Rectangle, specified as a HTML color code. Not specified means transparent.
    border Stroke? The border of this Rectangle. An object of border properties. Right now only the color can be specified.
    properties ExtraProperties? Key-value pairs of additional custom properties.
    points Location[] The corners of the bounding rectangle in the order top-left, top-right, bottom-right and bottom-left. The corners has to be defined in the atomic space to keep the relative position to the chemical content. The defined rectangle scaled up into the graphical space gives the area the shape should be rendered into.

    TextBox

    A Textbox, which is a formatted textual content that should be rendered into a rectangular area.

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be TEXTBOX
    font Font? The default font for the Textbox. If a section of the Textbox does not specify some, or any of the font properties, this should be used for missing values. If this value is not set either, it is up to the renderer what font is used.
    color string? The default color for the Textbox, specified as a HTML color code. If a section of the Textbox does not specify a color, this should be used.
    paragraphs Paragraph[] The content of the Textbox. An array of Paragraphs, which are newline separated portions of the whole textual content.
    autoResize boolean? Marks whether this Textbox should change its size on change of the content. If not set, it is considered false.
    background string? The background color of the Textbox, specified as a HTML color code. Not specified means transparent.
    align TextBoxAlign? The horizontal alignment of the content. If not specified, it is considered LEFT
    verticalAlign TextBoxVerticalAlign? The vertical alignment of the content. If not specified, it is considered TOP.
    border Stroke? The border of this Textbox. An object of border properties. Right now only the color can be specified.
    properties ExtraProperties? Key-value pairs of additional custom properties.
    points Location[] The corners of the bounding rectangle in the order top-left, top-right, bottom-right and bottom-left. The corners has to be defined in the atomic space to keep the relative position to the chemical content. The defined rectangle scaled up into the graphical space gives the area the textbox should be rendered into.

    PlusSign

    A graphical PlusSign

    Fields

    field type description
    id string Reference id of this object. Should be unique for the entire document.
    shape string Has to be PLUSSIGN
    line Stroke? The line of the a PlusSign
    properties ExtraProperties? Key-value pairs of additional custom properties.
    points Location[] The corners of the bounding rectangle in the order top-left, top-right, bottom-right and bottom-left.

    DisplayProperties

    Describes the rendering hints for the content of this document.

    Fields

    field type description
    saveProperties boolean? DEPRECATED legacy option. There is a save option that handles whether these properties should be saved or not after editing the document.
    scale number? DEPRECATED scale for rendering the elements in this document. BondLength is a more straightforward setting and scale is a value derived from bondLength (#/definitions/bondDisplayProperties/properties/bondLength).
    background string? The color of the background in HTML color code.
    propertyLabelFont Font? Font for various textual data on chemical structures. These are too large if rendered with atom label font size, so a separate property is required for these labels.
    atomDisplayProperties AtomDisplayProperties? Rendering hints for Atoms.
    bondDisplayProperties BondDisplayProperties? Rendering hints for Bonds.
    moleculeDisplayProperties MoleculeDisplayProperties? Rendering hints for Molecules.
    reactionDisplayProperties ReactionDisplayProperties? Rendering hints for Reactions.
    groupDisplayProperties GroupDisplayProperties? Rendering hints for Groups.
    z-index string[]? Stores ordering of objects on the z-axis.

    AtomDisplayProperties

    Describes the rendering hints for Atoms. If an Atom has rendering hints in the customized section, then it should be used, otherwise the rendering hints in this section, and if there are no rendering hints in this section, it is the renderer's choice how to render the Atom.

    Fields

    field type description
    labelFont Font? The default font for atom labels.
    color string? The default color for atom labels in HTML color code.
    mapColor string? The default color for atom map labels in HTML color code.
    chargeColor string? The default color for charge labels in HTML color code.
    stereoColor string? The default color for stereo labels in HTML color code.
    atomNumberingType AtomDisplayPropertiesAtomNumberingType? DEPRECATED numbering algorithm for atoms. Use 'atomNumbering' instead (#/definitions/atomDisplayProperties/definitions/atomNumbering).
    atomNumbering AtomNumbering? Numbering algorithm for atoms, by optionally setting a general visibility mode, and stating the exclusions from this general visibility mode.
    atomPropertiesVisible boolean? Sets whether atom properties (extra properties added in a key-value pair) are visible or not.
    atomMappingVisible boolean? Sets whether atom mapping is visible or not.
    lonePairsVisible boolean? Sets whether the lone pairs should be rendered or not.
    lonePairsAsLine boolean? Sets whether the lone pairs should be rendered as lines (true) or as dots (false). If this property is not specified, the default is the latter.
    calculateLonePairs boolean? Sets whether the lone pairs should be calculated for each atom (true) or use the precalculated values only (false).
    carbonVisibility AtomDisplayPropertiesCarbonVisibility? sets the visibility property for carbon atoms.
    charge AtomDisplayPropertiesCharge? sets the display property for charges on atoms.
    peptide AtomDisplayPropertiesPeptide? sets the display property for peptides.
    customized AtomDisplayProperty[]? List of specific display properties for atoms that have unique rendering specifications, like font or color, etc.

    AtomDisplayProperty

    Descriptor of display properties for customized atoms

    Fields

    field type description
    id string The internal reference id of the customized atom. The same id as in the atoms array of a molecule.
    labelFont Font? The font for the atom label.
    color string? The color for the atom label of a given atom in HTML color code.
    mapColor string? The color for atom map label of a given atom in HTML color code.
    chargeColor string? The color for charge label of a given atom in HTML color code.
    stereoColor string? The color for stereo label of a given atom in HTML color code.
    formattedLabel Section[]? The atom label with formatting. An array of formatted sections, which are continuous portions of text separated only for formatting, the content should be joined without any delimiter.
    atomMappingLocation Location? Display location information for atom mapping label, relative to atom.
    stereoLabelLocation Location? Display location information for stereo label, relative to atom.
    chargeLocation Location? Display location information for charge label, relative to atom.

    AtomNumbering

    Numbering algorithm for atoms, by optionally setting a general visibility mode, and stating the exclusions from this general visibility mode.

    Fields

    field type description
    algorithm AtomNumberingAlgorithm The numbering algorithm for atoms.
    visibility AtomNumberingVisibility? Visibility of the Atom numbering. The default value is VISIBLE
    exclude string[]? The reference ids of the Atoms that are excluded from visibility.

    BondDisplayProperties

    Describes the rendering hints for Bonds. If a Bond has rendering hints in the customized section, then it should be used, otherwise the rendering hints in this section, and if there are no rendering hints in this section, it is the renderer's choice how to render the Bond.

    Fields

    field type description
    bondLength number? The default rendered bond length in points.
    aminoAcidBondColoringEnabled boolean? If true, then the amino acid bridge (usually S-S bridges) bonds are colored.
    bondLengthVisible boolean? If true, then the bond length values (in Angstrom) are displayed next to the bonds.
    coordinateBondStyle string? Sets the style of coordinate bonds.
    coordinateBondStyleAtMulticenter string? Sets the style of coordinate bonds if the bond points from or to a multicenter (also known as position variation bond).
    boldBondWidth number? Sets the width of bold bonds in points.
    bondSpacing number? Sets the gap between double (aromatic and some query bonds as well) and triple bonds in points.
    bondHashSpacing number? Sets the spacing between the hashed lines for single down wedged bonds and hashed bonds in points.
    wireThickness number? Bond thickness in wireframe mode in points.
    stickThickness number? The stick diameter for ball and stick mode in points.
    downWedge BondDisplayPropertiesDownWedge? Wedge bond display convention. Down wedge points downward in MDL's convention, upward (at the chiral center) in Daylight's.
    anyBond string? The bond-style to draw any-bonds with.
    margin number? The distance between atom label and the closer end of an incoming bond in point unit.
    customized BondDisplayProperty[]? List of bond specific display properties for bonds that have unique rendering specifications, such as color.

    BondDisplayProperty

    Descriptor of display properties for customized bonds

    Fields

    field type description
    id string The internal reference id of the customized bond. The same id as in the bonds array of a molecule.
    bondStyle string? The style for the bond.
    color string? The color for the bond in HTML color code.
    doubleBondAlignment BondDisplayPropertyDoubleBondAlignment? Double bond alignment between two atoms, defined from the viewpoint of the start atom towards the end atom.
    stereoLabelLocation Location? Display location information for stereo label, relative to the midpoint of bond.

    MoleculeDisplayProperties

    Describes the rendering hints for Molecules.

    Fields

    field type description
    ezVisible boolean? Whether to show E/Z labels.
    mpVisible boolean? Whether to show M/P labels.
    valenceErrorVisible boolean? Whether to show valence errors.
    absoluteLabelVisible boolean? Whether to show absolute stereo configuration labels.
    colorScheme MoleculeDisplayPropertiesColorScheme? Color scheme. (MONO=monochrome, CPK=Corey-Pauling-Kultun, SHAPELY=shapely (residue types), GROUP=residue sequence numbers).

    ReactionDisplayProperties

    Describes the rendering hints for Reactions.

    Fields

    field type description
    automaticReactionDetection boolean? Marks whether the content of this document should be automatically converted to a reaction. This conversion will only take place if the content was not a reaction and there is exactly one graphical arrow in the document.
    sketchArrowHeadLength number? Length of the head of the (graphical) reaction arrow in points.
    sketchArrowHeadWidth number? Width of the head of the (graphical) reaction arrow in points.
    sketchArrowTailLength number? Length of the tail of the (graphical) reaction arrow in points.
    sketchArrowTailWidth number? Width of the tail of the (graphical) reaction arrow in points.
    customized ReactionDisplayProperty[]? List of reaction specific display properties for reactions that have unique rendering specifications, such as a custom arrow.

    ReactionDisplayProperty

    Descriptor of display properties for customized reactions

    Fields

    field type description
    id string The internal reference id of the customized reaction. The same id as in the reactions array of the document.
    arrow Arrow? The custom arrow for the reaction. If not present, the reaction arrow should be generated by the renderer based on the reaction's direction property.

    GroupDisplayProperties

    Describes the rendering hints for Groups.

    Fields

    field type description
    customized GroupDisplayProperty[]? List of group specific display properties for groups that have custom rendering specifications.

    GroupDisplayProperty

    Descriptor of display properties for customized groups

    Fields

    field type description
    id string The internal reference id of the customized group.
    contracted boolean? Marks whether the group is represented in a contracted form or not.
    formattedLabel Section[]? Group label as formatted text. An array of formatted sections, which are continuous portions of text separated only for formatting, the content should be joined without any delimiter.

    Stereo

    The stereochemistry-properties attached to this atom

    Fields

    field type description
    enhanced EnhancedStereo? The stereo representation matching MDL's Enhanced Stereo Representation

    EnhancedStereo

    The stereo representation matching MDL's Enhanced Stereo Representation

    Fields

    field type description
    type EnhancedStereoType The way to connect groups according to this representation. Note, that "AND" and "OR" does not make sense without a group, while "ABSOLUTE" does not make sense with a group.
    group number? Serves as the basis to connect type "AND" or "OR" enhanced stereo-atoms. (A complete enhanced stereochemical representation is made of all the atoms having the same type and group enhanced stereo descriptors)

    AtomQuery

    The query features attached to this atom

    Fields

    field type description
    aromaticity AtomQueryAromaticity? Marks an atom in a query structure to match atoms according to aromaticity.
    connections number? Atom query property to restrict the number of ligands (including hydrogens).
    implicitHydrogenCount number? Atom query property to restrict the number of implicit hydrogens. This property is different from the implicitHydrogenCount property of the atom, which is a calculated property.
    ringBondCount (number | AtomQueryRingBondCount)?
    ringCount number? Atom query property to restrict the number of cyclic substructures it is member of. Ring count in the target is understood in the Smallest Set of Smallest Rings (SSSR) sense.
    smallestRingSize number? Atom query property to restrict the size of the smallest cyclic substructure it is member of.
    substitutionCount (number | AtomQuerySubstitutionCount)?
    totalHydrogenCount number? Atom query property to restrict the number of hydrogen substituents including explicit hydrogens, implicit hydrogens, and hydrogen isotopes.
    unsaturated boolean? Marks an atom in a query structure as unsaturated to match atoms in the target with DOUBLE or TRIPLE bonds. Setting this property to false is the same as omitting it, matching saturated and unsaturated atoms as well.

    BondQuery

    The query features attached to this bond

    Fields

    field type description
    topology string? Queries will match only if this bond is part of a chain or ring (as per the value of this property)
    reactingCenter string? Query property for a reacting center

    ArrowEndpoint

    Enpoint of an arrow (tail/head) with location and optionally style

    Fields

    field type description
    location Location The Location of the Head of this Arrow. The most end point at the tip of the Arrow.
    style ArrowEndingStyle? The style of the arrow head/tail

    ArrowEndingStyle

    Style of the Head/Tail of the Arrow

    Fields

    field type description
    width number? The width of this Arrow's Head/Tail in points measured as a distance from the long axis of the Arrow as a line to the further point of the Head/Tail from that line.
    length number? The length of this Arrow's Head/Tail in points measured as a distance from the Head's Location to the further point of the Head/Tail from the Head/Tail's Location projected to the long axis.
    alignment ArrowEndingStyleAlignment? The alignment of the Arrow's Head/Tail: left, right, both (looking from the middle of the arrow to the direction of the Head/Tail)
    type ArrowEndingStyleType The type of the Arrow's Head / Tail

    ExtraProperties

    Key-value pairs of additional custom properties.

    Fields

    field type description

    Data

    Data object that holds data for an object in this document. It is possible to specify a unit of measurement for the data and a query operator for search operations.

    Fields

    field type description
    name string The name of this data. Name and target fields together have to be unique for the entire document.
    value string The data itself.
    target string[] The list of reference ids of the (target) objects this data is attached to. For many cases, it's only a single element list, of an atom, bond or group id. Name and target fields together have to be unique for the entire document.
    unit string? The unit of measurement of the data.
    queryOperator DataQueryOperator? Operator to compare attached data during search operations.

    ArrowType

    Arrow types. The type does not cover styling or direction (see also stroke and arrowEndingStyle)

    Values

    Single = "SINGLE", Double = "DOUBLE", Asymmetric_Double = "ASYMMETRIC_DOUBLE"

    DeprecatedArrowType

    DEPRECATED arrow types. Use 'arrowType' instead (#/definitions/arrow/definitions/arrowType)

    Values

    Single = "SINGLE", Double = "DOUBLE", Block = "BLOCK", Crossed = "CROSSED", Curved = "CURVED", Dashed = "DASHED", Equilibrium = "EQUILIBRIUM", Hashed = "HASHED", Resonance = "RESONANCE", Unbalanced_Equilibrium = "UNBALANCED_EQUILIBRIUM", Retrosynthesis = "RETROSYNTHESIS", Rearrangement = "REARRANGEMENT"

    BondStyle

    The style for the bond

    Values

    Hashed = "HASHED", Dashed = "DASHED", Bold = "BOLD", Wavy = "WAVY", Down = "DOWN", Up = "UP", Up_Or_Down = "UP_OR_DOWN", Default = "DEFAULT", Arrow = "ARROW", Auto = "AUTO", Solid = "SOLID"

    BondTopology

    Queries will match only if this bond is part of a chain or ring (as per the value of this property)

    Values

    In_Ring = "IN_RING", In_Chain = "IN_CHAIN"

    ReactingCenterTypes

    Possible types for reacting center query properties

    Values

    Center = "CENTER", Make_Or_Break = "MAKE_OR_BREAK", Change = "CHANGE", Make_And_Change = "MAKE_AND_CHANGE", Not_Center = "NOT_CENTER"

    MoleculeNature

    Logical property of the molecule, marking its type from cheminformatical point of view. PLAIN is for regular molecules, NO_STRUCTURE for placeholder molecule for search purposes. SALT is for salt-type structures.

    Values

    Plain = "PLAIN", No_Structure = "NO_STRUCTURE", Salt = "SALT"

    MoleculeChiralityInterpretation

    Describes how this molecule should be interpreted regarding chirality. Default is UNKNOWN. If ABSOLUTE value is set, this molecule describes one specific enantiomer. If UNKNOWN value is set, the chirality is unknown, it can represent any of the enantiomers or their mixture.

    Values

    Absolute = "ABSOLUTE", Unknown = "UNKNOWN"

    AbbreviationType

    Type of this Group. Use AMINO_ACID for aminoacids, and ABBREVIATION for all other.

    Values

    Abbreviation = "ABBREVIATION", Amino_Acid = "AMINO_ACID"

    RepeatingUnitType

    Type of this Group. Has to be REPEATING_UNIT.

    Values

    Repeating_Unit = "REPEATING_UNIT"

    RepetitionPattern

    The pattern of the repetition. Default is HEAD_TO_TAIL, which means the monomer repeats without alternation. HEAD_TO_HEAD means that the monomers are alternating.

    Values

    Head_To_Tail = "HEAD_TO_TAIL", Head_To_Head = "HEAD_TO_HEAD", Unknown = "UNKNOWN"

    GeneralType

    Type of this Group. Has to be GENERAL.

    Values

    General = "GENERAL"

    MultipleType

    Type of this group. Has to be MULTIPLE.

    Values

    Multiple = "MULTIPLE"

    ElectronType

    The type of the electron. LONE_PAIR, RADICAL, or RADICAL_PAIR.

    Values

    Radical = "RADICAL", Radical_Pair = "RADICAL_PAIR", Lone_Pair = "LONE_PAIR"

    ElectronFlowType

    The type of the flow as how many electrons move from the source to the target. SINGLE or DOUBLE.

    Values

    Single = "SINGLE", Double = "DOUBLE"

    ReactionDirection

    The direction of the reaction. If omitted, the reaction direction is FORWARD

    Values

    Forward = "FORWARD", Backward = "BACKWARD", Equilibrium = "EQUILIBRIUM"

    AtomRadical

    Free radical value of the Atom.

    Values

    None = "NONE", Monovalent = "MONOVALENT", Divalent = "DIVALENT", Divalent_Singlet = "DIVALENT_SINGLET", Divalent_Triplet = "DIVALENT_TRIPLET", Trivalent = "TRIVALENT", Trivalent_Doublet = "TRIVALENT_DOUBLET", Trivalent_Quartet = "TRIVALENT_QUARTET"

    BondType

    Type of this Bond.

    Values

    Any = "ANY", Aromatic = "AROMATIC", Cis_Or_Trans = "CIS_OR_TRANS", Coordinate = "COORDINATE", Double = "DOUBLE", Double_Or_Aromatic = "DOUBLE_OR_AROMATIC", Down = "DOWN", Single = "SINGLE", Single_Or_Aromatic = "SINGLE_OR_AROMATIC", Single_Or_Double = "SINGLE_OR_DOUBLE", Triple = "TRIPLE", Up = "UP", Up_Or_Down = "UP_OR_DOWN", Cis_Trans_Or_Unspecified = "CIS_TRANS_OR_UNSPECIFIED"

    PositionVariationBondType

    Type of this Bond.

    Values

    Any = "ANY", Aromatic = "AROMATIC", Cis_Or_Trans = "CIS_OR_TRANS", Coordinate = "COORDINATE", Double = "DOUBLE", Double_Or_Aromatic = "DOUBLE_OR_AROMATIC", Down = "DOWN", Single = "SINGLE", Single_Or_Aromatic = "SINGLE_OR_AROMATIC", Single_Or_Double = "SINGLE_OR_DOUBLE", Triple = "TRIPLE", Up = "UP", Up_Or_Down = "UP_OR_DOWN", Cis_Trans_Or_Unspecified = "CIS_TRANS_OR_UNSPECIFIED"

    FontStyle

    Values

    Plain = "PLAIN", Bold = "BOLD", Italic = "ITALIC", Underline = "UNDERLINE", Subscript = "SUBSCRIPT", Superscript = "SUPERSCRIPT"

    StrokeStyle

    The style of this Stroke, modifies the line style of this Stroke.

    Values

    Solid = "SOLID", Hashed = "HASHED", Crossed = "CROSSED", Looped = "LOOPED", Dashed = "DASHED"

    BracketType

    The type of this Bracket. If not specified, it is considered SQUARE([]). Also can be ROUND(()), BRACES({}), or CHEVRONS(<>)

    Values

    Square = "SQUARE", Round = "ROUND", Braces = "BRACES", Chevrons = "CHEVRONS"

    TextBoxAlign

    The horizontal alignment of the content. If not specified, it is considered LEFT

    Values

    Center = "CENTER", Left = "LEFT", Right = "RIGHT"

    TextBoxVerticalAlign

    The vertical alignment of the content. If not specified, it is considered TOP.

    Values

    Middle = "MIDDLE", Top = "TOP", Bottom = "BOTTOM"

    AtomDisplayPropertiesAtomNumberingType

    DEPRECATED numbering algorithm for atoms. Use 'atomNumbering' instead (#/definitions/atomDisplayProperties/definitions/atomNumbering).

    Values

    None = "NONE", Default = "DEFAULT", Iupac = "IUPAC"

    AtomDisplayPropertiesCarbonVisibility

    sets the visibility property for carbon atoms.

    Values

    Always = "ALWAYS", Never = "NEVER", On_Demand = "ON_DEMAND"

    AtomDisplayPropertiesCharge

    sets the display property for charges on atoms.

    Values

    Plain = "PLAIN", Circled = "CIRCLED"

    AtomDisplayPropertiesPeptide

    sets the display property for peptides.

    Values

    One_Letter = "ONE_LETTER", Three_Letter = "THREE_LETTER"

    AtomNumberingAlgorithm

    The numbering algorithm for atoms.

    Values

    Default = "DEFAULT", Iupac = "IUPAC"

    AtomNumberingVisibility

    Visibility of the Atom numbering. The default value is VISIBLE

    Values

    Hidden = "HIDDEN", Visible = "VISIBLE"

    BondDisplayPropertiesDownWedge

    Wedge bond display convention. Down wedge points downward in MDL's convention, upward (at the chiral center) in Daylight's.

    Values

    Mdl = "MDL", Daylight = "DAYLIGHT"

    BondDisplayPropertyDoubleBondAlignment

    Double bond alignment between two atoms, defined from the viewpoint of the start atom towards the end atom.

    Values

    Left = "LEFT", Right = "RIGHT", Center = "CENTER"

    MoleculeDisplayPropertiesColorScheme

    Color scheme. (MONO=monochrome, CPK=Corey-Pauling-Kultun, SHAPELY=shapely (residue types), GROUP=residue sequence numbers).

    Values

    Mono = "MONO", Cpk = "CPK", Shapely = "SHAPELY", Group = "GROUP"

    EnhancedStereoType

    The way to connect groups according to this representation. Note, that "AND" and "OR" does not make sense without a group, while "ABSOLUTE" does not make sense with a group.

    Values

    And = "AND", Or = "OR", Absolute = "ABSOLUTE"

    AtomQueryAromaticity

    Marks an atom in a query structure to match atoms according to aromaticity.

    Values

    Aromatic = "AROMATIC", Aliphatic = "ALIPHATIC"

    AtomQueryRingBondCount

    Atom query property to restrict the number of its bonds that are in a cyclic substructure.

    Values

    As_Drawn = "AS_DRAWN"

    AtomQuerySubstitutionCount

    Atom query property to restrict the number of heavy atom substituents (including hydrogen isotopes).

    Values

    As_Drawn = "AS_DRAWN"

    ArrowEndingStyleAlignment

    The alignment of the Arrow's Head/Tail: left, right, both (looking from the middle of the arrow to the direction of the Head/Tail)

    Values

    Left = "LEFT", Right = "RIGHT", Both = "BOTH"

    ArrowEndingStyleType

    The type of the Arrow's Head / Tail

    Values

    Open = "OPEN", Block = "BLOCK", None = "NONE"

    DataQueryOperator

    Operator to compare attached data during search operations.

    Values

    None = "NONE", Equal_To = "EQUAL_TO", Less_Than = "LESS_THAN", Greater_Than = "GREATER_THAN", Less_Than_Or_Equal_To = "LESS_THAN_OR_EQUAL_TO", Greater_Than_Or_Equal_To = "GREATER_THAN_OR_EQUAL_TO", Not = "NOT", Between = "BETWEEN", Like = "LIKE", Contains = "CONTAINS"