Skip to content

Commit 30a8a76

Browse files
authored
Merge pull request #4 from Materials-Consortia/smiles
Introduce SMILES property
2 parents 10c3ab4 + 680f318 commit 30a8a76

2 files changed

Lines changed: 92 additions & 0 deletions

File tree

src/v0.1.0/entrytypes/structures.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ properties:
2121
sortable: false
2222
query-support: "none"
2323
response-default: true
24+
_cheminfo_smiles:
25+
$$inherit: "/properties/structures/_cheminfo_smiles"
26+
x-optimade-implementation:
27+
sortable: false
28+
query-support: "equality only"
29+
response-default: true
2430
_cheminfo_stdinchi:
2531
$$inherit: "/properties/structures/_cheminfo_stdinchi"
2632
x-optimade-implementation:
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
$$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2+
$id: "https://schemas.optimade.org/namespaces/cheminformatics/v0.1/properties/structures/_cheminfo_smiles"
3+
title: "SMILES (Simplified Molecular Input Line Entry System) representation of the structure"
4+
x-optimade-type: "string"
5+
x-optimade-definition:
6+
kind: "property"
7+
version: "0.1.0"
8+
format: "1.2"
9+
name: "_cheminfo_smiles"
10+
label: "_cheminfo_smiles_structures"
11+
type:
12+
- "string"
13+
- "null"
14+
description: |-
15+
SMILES (Simplified Molecular Input Line Entry System) representation of the structure.
16+
Property is string-valued, thus comparison operators (only '=' and '!=' are allowed) MUST compare literal strings.
17+
Providers MAY canonicalize (i.e., use rules to establish the stable order of atoms) the produced SMILES representations, but this is not mandatory and no particular set of rules is recommended.
18+
Generally, providers SHOULD NOT change the representation more frequently than the structure itself is modified.
19+
No particular specification (also known as flavor) for the provided SMILES strings is enforced, but if known, MUST be provided in metadata property '_cheminfo_specification_name'.
20+
examples:
21+
- "c1ccccc1"
22+
- "CN1C=NC2=C1C(=O)N(C(=O)N2C)C"
23+
- "[Na+].[Cl-]"
24+
x-optimade-metadata-definition:
25+
title: "Metadata for the _cheminfo_smiles field"
26+
description: "This dictionary contains the per-entry metadata for the _cheminfo_smiles field."
27+
x-optimade-type: "dictionary"
28+
type:
29+
- "object"
30+
- "null"
31+
properties:
32+
_cheminfo_specification_name:
33+
description: |-
34+
A name of the specification the given SMILES string conforms to.
35+
Takes value from an enumeration set containing 'IUPAC SMILES+' (https://github.com/IUPAC/IUPAC_SMILES_plus), 'OpenSMILES' (http://opensmiles.org/opensmiles.html) and 'other' (none of the above).
36+
If 'other' is chosen, the specification MUST be specified in metadata property '_cheminfo_specification_name_other'.
37+
'null' value means that the specification of the given SMILES string is not known.
38+
x-optimade-type: "string"
39+
type:
40+
- "string"
41+
- "null"
42+
enum:
43+
- "IUPAC SMILES+"
44+
- "OpenSMILES"
45+
- "other"
46+
examples:
47+
- "IUPAC SMILES+"
48+
- "OpenSMILES"
49+
x-optimade-unit: "inapplicable"
50+
_cheminfo_specification_name_other:
51+
description: |-
52+
A name of the specification the given SMILES string conforms to, if different from the enumerator values for metadata property '_cheminfo_specification_name'.
53+
MUST be defined (non-NULL) if and only if the value for '_cheminfo_specification_name' is known and is equal to 'other'.
54+
x-optimade-type: "string"
55+
type:
56+
- "string"
57+
- "null"
58+
examples:
59+
- "Daylight"
60+
- "OpenBabel"
61+
x-optimade-unit: "inapplicable"
62+
_cheminfo_specification_version:
63+
description: |-
64+
The version of the SMILES specification given in metadata property '_cheminfo_specification_name'.
65+
If '_cheminfo_specification_name_other' contains the name of a software library used to generate SMILES, '_cheminfo_specification_version' MUST be the version of this software library.
66+
x-optimade-type: "string"
67+
type:
68+
- "string"
69+
- "null"
70+
examples:
71+
- "1.0"
72+
- "a76e26b32e6f0d18f7dd0cadf1b23449baebb04e"
73+
x-optimade-unit: "inapplicable"
74+
_cheminfo_special_details:
75+
description: |-
76+
Other details related to SMILES treatment by the provider that might need relaying.
77+
For example, a provider might want to express that stereochemistry is not represented in this SMILES string.
78+
x-optimade-type: "string"
79+
type:
80+
- "string"
81+
- "null"
82+
examples:
83+
- "Stereochemistry is not represented"
84+
x-optimade-unit: "inapplicable"
85+
x-optimade-unit: "inapplicable"
86+
x-optimade-unit: "inapplicable"

0 commit comments

Comments
 (0)