Chemaxon specific JSON representation of a chemical document.
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. |
A simple chemical structure. Can be listed in the document as is, or defined as an entity in a Reaction or Markush structure.
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. |
An abbreviation group. These groups can be represented with their structure it self, or by a placeholder atom.
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 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.
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. |
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 |
Describes the repetition of monomers in a repeating unit group
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) |
A general group that able to collect atoms and bonds, and it has an optional label.
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 group that is like a general group, but has multiplicity
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. |
Describes a graphical representation for an electron or electron pair. These must not be taken into consideration when building a chemical model.
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. |
Visual representation of an electron transition.
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. |
A chemical Reaction. Only single step reactions are supported.
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. |
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.
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 |
Markush Definitons is a list of alternatives the R-atoms can be substituted with.
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. |
The extra rules for the Definiton substitutions
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. |
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.
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. |
Three dimensional coordinate to mark a Location. In CXON it is a molecular Cartesian coordinate in Angstroms.
field | type | description |
---|---|---|
x | number | X-coordinate. |
y | number | Y-coordinate. |
z | number | Z-coordinate. |
A Bond object, which is a basic building block of Molecule objects. Can be a chemical bond or a query bond.
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. |
A variable bond used in Markush structures, queries and other variable structures. Aliases: position variation bond, variable attachment point.
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. |
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.
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. |
Paragraphs are newline separated portions of a text. Paragraph consists of an array of sections, which are independently formattable portions of text.
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. |
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
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 descriptor object.
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. |
An object to specify properties for lines, borders, etc.
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. |
Customization options to display an arrow of an electronFlow.
field | type | description |
---|---|---|
arc | SvgArc | The SVG style descriptor of the arc of the arrow. |
A graphical Arrow, which is a directed line from one Location to another.
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. |
A graphical undirected Arc.
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. |
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.
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 |
A graphical Bracket, which is a pair of brackets enclosing an area.
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. |
A graphical Ellipse.
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. |
An Image that can be remote or embedded into this document as a base64 encoded image.
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. |
A graphical path/polyline which connects 2 or more points
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. |
A graphical Rectangle.
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. |
A Textbox, which is a formatted textual content that should be rendered into a rectangular area.
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. |
A graphical PlusSign
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. |
Describes the rendering hints for the content of this document.
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. |
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.
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. |
Descriptor of display properties for customized atoms
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. |
Numbering algorithm for atoms, by optionally setting a general visibility mode, and stating the exclusions from this general visibility mode.
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. |
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.
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. |
Descriptor of display properties for customized bonds
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. |
Describes the rendering hints for Molecules.
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). |
Describes the rendering hints for Reactions.
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. |
Descriptor of display properties for customized reactions
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. |
Describes the rendering hints for Groups.
field | type | description |
---|---|---|
customized | GroupDisplayProperty[]? | List of group specific display properties for groups that have custom rendering specifications. |
Descriptor of display properties for customized groups
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. |
The stereochemistry-properties attached to this atom
field | type | description |
---|---|---|
enhanced | EnhancedStereo? | The stereo representation matching MDL's Enhanced Stereo Representation |
The stereo representation matching MDL's Enhanced Stereo Representation
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) |
The query features attached to this atom
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. |
The query features attached to this bond
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 |
Enpoint of an arrow (tail/head) with location and optionally style
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 |
Style of the Head/Tail of the Arrow
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 |
Key-value pairs of additional custom properties.
field | type | description |
---|
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.
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. |
Arrow types. The type does not cover styling or direction (see also stroke and arrowEndingStyle)
Single = "SINGLE", Double = "DOUBLE", Asymmetric_Double = "ASYMMETRIC_DOUBLE"
DEPRECATED arrow types. Use 'arrowType' instead (#/definitions/arrow/definitions/arrowType)
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"
The style for the bond
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"
Queries will match only if this bond is part of a chain or ring (as per the value of this property)
In_Ring = "IN_RING", In_Chain = "IN_CHAIN"
Possible types for reacting center query properties
Center = "CENTER", Make_Or_Break = "MAKE_OR_BREAK", Change = "CHANGE", Make_And_Change = "MAKE_AND_CHANGE", Not_Center = "NOT_CENTER"
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.
Plain = "PLAIN", No_Structure = "NO_STRUCTURE", Salt = "SALT"
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.
Absolute = "ABSOLUTE", Unknown = "UNKNOWN"
Type of this Group. Use AMINO_ACID for aminoacids, and ABBREVIATION for all other.
Abbreviation = "ABBREVIATION", Amino_Acid = "AMINO_ACID"
Type of this Group. Has to be REPEATING_UNIT.
Repeating_Unit = "REPEATING_UNIT"
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.
Head_To_Tail = "HEAD_TO_TAIL", Head_To_Head = "HEAD_TO_HEAD", Unknown = "UNKNOWN"
Type of this Group. Has to be GENERAL.
General = "GENERAL"
Type of this group. Has to be MULTIPLE.
Multiple = "MULTIPLE"
The type of the electron. LONE_PAIR, RADICAL, or RADICAL_PAIR.
Radical = "RADICAL", Radical_Pair = "RADICAL_PAIR", Lone_Pair = "LONE_PAIR"
The type of the flow as how many electrons move from the source to the target. SINGLE or DOUBLE.
Single = "SINGLE", Double = "DOUBLE"
The direction of the reaction. If omitted, the reaction direction is FORWARD
Forward = "FORWARD", Backward = "BACKWARD", Equilibrium = "EQUILIBRIUM"
Free radical value of the Atom.
None = "NONE", Monovalent = "MONOVALENT", Divalent = "DIVALENT", Divalent_Singlet = "DIVALENT_SINGLET", Divalent_Triplet = "DIVALENT_TRIPLET", Trivalent = "TRIVALENT", Trivalent_Doublet = "TRIVALENT_DOUBLET", Trivalent_Quartet = "TRIVALENT_QUARTET"
Type of this Bond.
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"
Type of this Bond.
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"
Plain = "PLAIN", Bold = "BOLD", Italic = "ITALIC", Underline = "UNDERLINE", Subscript = "SUBSCRIPT", Superscript = "SUPERSCRIPT"
The style of this Stroke, modifies the line style of this Stroke.
Solid = "SOLID", Hashed = "HASHED", Crossed = "CROSSED", Looped = "LOOPED", Dashed = "DASHED"
The type of this Bracket. If not specified, it is considered SQUARE([]). Also can be ROUND(()), BRACES({}), or CHEVRONS(<>)
Square = "SQUARE", Round = "ROUND", Braces = "BRACES", Chevrons = "CHEVRONS"
The horizontal alignment of the content. If not specified, it is considered LEFT
Center = "CENTER", Left = "LEFT", Right = "RIGHT"
The vertical alignment of the content. If not specified, it is considered TOP.
Middle = "MIDDLE", Top = "TOP", Bottom = "BOTTOM"
DEPRECATED numbering algorithm for atoms. Use 'atomNumbering' instead (#/definitions/atomDisplayProperties/definitions/atomNumbering).
None = "NONE", Default = "DEFAULT", Iupac = "IUPAC"
sets the visibility property for carbon atoms.
Always = "ALWAYS", Never = "NEVER", On_Demand = "ON_DEMAND"
sets the display property for charges on atoms.
Plain = "PLAIN", Circled = "CIRCLED"
sets the display property for peptides.
One_Letter = "ONE_LETTER", Three_Letter = "THREE_LETTER"
The numbering algorithm for atoms.
Default = "DEFAULT", Iupac = "IUPAC"
Visibility of the Atom numbering. The default value is VISIBLE
Hidden = "HIDDEN", Visible = "VISIBLE"
Wedge bond display convention. Down wedge points downward in MDL's convention, upward (at the chiral center) in Daylight's.
Mdl = "MDL", Daylight = "DAYLIGHT"
Double bond alignment between two atoms, defined from the viewpoint of the start atom towards the end atom.
Left = "LEFT", Right = "RIGHT", Center = "CENTER"
Color scheme. (MONO=monochrome, CPK=Corey-Pauling-Kultun, SHAPELY=shapely (residue types), GROUP=residue sequence numbers).
Mono = "MONO", Cpk = "CPK", Shapely = "SHAPELY", Group = "GROUP"
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.
And = "AND", Or = "OR", Absolute = "ABSOLUTE"
Marks an atom in a query structure to match atoms according to aromaticity.
Aromatic = "AROMATIC", Aliphatic = "ALIPHATIC"
Atom query property to restrict the number of its bonds that are in a cyclic substructure.
As_Drawn = "AS_DRAWN"
Atom query property to restrict the number of heavy atom substituents (including hydrogen isotopes).
As_Drawn = "AS_DRAWN"
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)
Left = "LEFT", Right = "RIGHT", Both = "BOTH"
The type of the Arrow's Head / Tail
Open = "OPEN", Block = "BLOCK", None = "NONE"
Operator to compare attached data during search operations.
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"