-
Notifications
You must be signed in to change notification settings - Fork 104
Ketcher format (current version)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Molecule",
"type": "object",
"required": [
"atoms"
],
"properties": {
"stereoFlag": {
"title": "Stereo Flag",
"type": "string",
"enum": [
"ABS",
"AND",
"OR",
"Mixed"
]
},
"atoms": {
"title": "Atoms",
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/atom"
},
{
"$ref": "#/hiso"
},
{
"$ref": "#/rsite"
},
{
"$ref": "#/atomlist"
}
]
}
},
"bonds": {
"title": "Bonds",
"type": "array",
"items": {
"$ref": "#/bond"
}
},
"hl_bonds": {
"title": "Highlighted bonds",
"type": "array",
"items": {
"type": "integer"
}
},
"hl_atoms": {
"title": "Highlighted atoms",
"type": "array",
"items": {
"type": "integer"
}
},
"sl_bonds": {
"title": "Selected bonds",
"type": "array",
"items": {
"type": "integer"
}
},
"sl_atoms": {
"title": "Selected atoms",
"type": "array",
"items": {
"type": "integer"
}
},
"sgroups": {
"title": "SGroups",
"type": "array",
"items": {
"$ref": "#/sgroup"
}
}
}
}
=== Atom schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Atom",
"type": "object",
"required": [
"label"
],
"properties": {
"label": {
"title": "Label",
"type": "string",
"enum": [
"H", "He",
"Li","Be","B","C","N","O","F","Ne",
"Na","Mg","Al","Si","P","S","Cl","Ar",
"K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr",
"Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe",
"Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf",
"Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn",
"Fr","Ra","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf",
"Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"
]
},
"location": {
"title": "Location",
"type": "array",
"items": {
"type": "number",
"maxItems": 3
}
},
"charge": {
"title": "Charge",
"type": "integer",
"minimum": -1000,
"maximum": 1000
},
"explicitValence": {
"title": "Valence",
"type": "integer",
"enum": [
-1,
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12
]
},
"isotope": {
"title": "Isotope",
"type": "integer",
"minimum": 0
},
"radical": {
"title": "Radical",
"type": "integer",
"enum": [
0,
2,
1,
3
]
},
"attachmentPoints": {
"title": "R-Group attachment points",
"type": "integer",
"enum": [
0,
1,
2,
3
]
},
"stereoParity": {
"title": "Stereo parity configuration",
"type": "integer",
"enum": [
0,
1,
2,
3
]
},
"ringBondCount": {
"title": "Ring bond count",
"type": "integer",
"enum": [
0,
-2,
-1,
2,
3,
4
]
},
"substitutionCount": {
"title": "Substitution count",
"type": "integer",
"enum": [
0,
-2,
-1,
1,
2,
3,
4,
5,
6
]
},
"unsaturatedAtom": {
"title": "Unsaturated atom",
"type": "boolean"
},
"hCount": {
"title": "H-count",
"type": "integer",
"enum": [
-1,
0,
1,
2,
3,
4,
5
]
},
"mapping": {
"title": "Atom-atom mapping",
"type": "integer",
"minimum": 0
},
"invRet": {
"title": "Inversion",
"type": "integer",
"enum": [
0,
1,
2
]
},
"exactChangeFlag": {
"title": "Exact change",
"type": "boolean"
}
}
}
=== Hydrogen isotopes
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "hiso", "type": "object", "required": [ "label", "location" ], "properties": { "label": { "title": "Label", "type": "string", "enum": [ "D", "T" ] }, "location": { "title": "Location", "type": "array", "items": { "type": "number", "maxItems": 3 } }, "charge": { "title": "Charge", "type": "integer", "minimum": -1000, "maximum": 1000 } } }
=== R-Site
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "R-site", "type": "object", "required": [ "type", "location" ], "properties": { "type": { "title": "R-site type", "type": "string", "enum": [ "rg-label" ] }, "location": { "title": "Location", "type": "array", "items": { "type": "number", "maxItems": 3 } }, "$refs": { "title": "R-group references", "type": "array", "items": { "type": "string", "pattern": "^rg-", "maxLength": 5 } }, "attachmentPoints": { "title": "R-Group attachment points", "type": "integer", "enum": [ 0, 1, 2, 3 ] } } }
=== Atom list
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Atom list", "type": "object", "required": [ "type", "location" ], "properties": { "type": { "type": "string", "enum": [ "atom-list" ] }, "notList": { "type": "boolean" }, "location": { "title": "Location", "type": "array", "items": { "type": "number", "maxItems": 3 } }, "elements": { "title": "Elements list", "type": "array", "minItems": 2, "items": { "type": "string", "maxLength": 3 } }, "attachmentPoints": { "title": "R-Group attachment points", "type": "integer", "enum": [ 0, 1, 2, 3 ] } } }
=== Bond
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Bond", "type": "object", "required": [ "atoms" ], "properties": { "type": { "title": "Bond type", "type": "integer", "enum": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ] }, "atoms": { "title": "Atoms", "type": "array", "minItems": 2, "maxItems": 2, "items": { "type": "integer" } }, "stereo": { "title": "Bond stereo type", "type": "integer", "enum": [ 0, 1, 2, 3 ] }, "topology": { "title": "Topology", "type": "integer", "enum": [ 0, 1, 2 ] }, "center": { "title": "Reacting Center", "type": "integer", "enum": [ 0, -1, 1, 2, 4, 8, 12 ] }, "stereobox": { "title": "Stereo box", "type": "integer", "enum": [ 0, 1 ] } } }
=== S-Group
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "SGroup", "allOf": [ { "required": [ "atoms" ], "properties": { "atoms": { "type": "array", "items": { "type": "integer" } } } }, { "oneOf": [ { "title": "Generic", "key": "GEN", "properties": { "type": { "enum": [ "GEN" ] } } }, { "title": "Multiple group", "key": "MUL", "required": [ "mul" ], "properties": { "type": { "enum": [ "MUL" ] }, "mul": { "title": "Repeat count", "type": "integer", "default": 1, "minimum": 1, "maximum": 1000 } } }, { "title": "SRU polymer", "key": "SRU", "required": [ "subscript", "connectivity" ], "properties": { "type": { "enum": [ "SRU" ] }, "subscript": { "title": "Polymer label", "type": "string", "pattern": "^[a-zA-Z]$" }, "connectivity": { "title": "Repetition rule", "type": "string", "enum": [ "HT", "HH", "EU" ] } } }, { "key": "SUP", "title": "Superatom", "properties": { "type": { "enum": [ "SUP" ] }, "name": { "title": "Superatom name", "type": "string", "minLength": 1 } } }, { "key": "DAT", "title": "Data-group", "required": [ "context", "fieldName", "fieldValue" ], "properties": { "type": { "enum": [ "DAT" ] }, "context": { "title": "Context", "enum": [ "Fragment", "Multifragment", "Bond", "Atom", "Group" ] }, "fieldName": { "title": "Field name", "type": "string", "minLength": 1 }, "fieldValue": { "title": "Field value", "type": "string", "minLength": 1 }, "display": { "title": "Display", "type": "boolean" }, "placement": { "title": "Placement", "type": "boolean" } } } ] } ] }