SMILES and SMARTS import and export options

Import options




Import data fields from a multi-column file. The fields should be separated by tab character. The first column contains the SMILES/SMARTS strings, the second may contain the molecule name or the data field called FIELD1, the following columns contain the other fields.

molconvert sdf "foo.smi{fname,fID}" 

reads the smiles string, the name and the ID from the foo.smi file and converts it to SDF format.


Import with Daylight compatibility for query H.
In daylight smarts, H is only considered as H atom when the atom expression has the syntax [<mass>H<charge><map>] (mass, charge and map are optional). Otherwise it is considered as query H count.
Examples: [!H!#6] without d option is imported as an atom which is not H and not C. However with d option it is imported as an atom which has not one H attached, and which is not C.
Use "H1" or "#1" or "#1A" instead of "H" to avoid ambiguous meaning of H. "H1" always means query H count. "#1" always means H atom, "#1A" means aliphatic H atom.


Ignore fixing of double bond stereo information in small rings, also ignore fixing of aromatic bonds to aliphatic if necessary.
Double bonds in small rings (ring size < 8) is imported automatically with CIS stereo information. If c options is set, the double bond stereo information is not changed to CIS during the import.
By default the bond is aromatic between two aromatic atom. But this is not true e.g. in case of biphenyl where the bond connecting the two aromatic ring is single. If biphenyl is represented with the SMILES string: "c1ccc(cc1)c1ccccc1" then it is necessary to set the bond between the two rings to single. If the molecule is exported by ChemAxon tools, the single bond between two aromatic atom is always explicitly written to avoid any confusion, so fixing aromatic bonds to aliphatic can be avoided.


Import compressed smiles. The compressed format must be specified explicitly, as it is not recognized by the importer automatically.

After importing SMILES, invoking of MoleculeGraph.clearCashedInfo method is recommended in order to remove cashed information which results increased molecule size.

Export options

Export options can be specified in the format string. The format descriptor and the options are separated by a colon.




Basic options for aromatization and H atom adding/removal.


Do not include chirality (parity) and double bond stereo (cis/trans) information.
Examples: "smiles:0" (not stereo), "smiles:a0" (aromatic, not stereo)


Obsolete option.
Atom equivalences are checked by default using graph invariants at double bonds.
Example: molconvert smiles -s "C/C=C(/C)C" results CC=C(C)C


Smiles export rigorousness (i with the following values):

  1. Export the most information from the molecule to SMILES or SMARTS format. Don't check anything.

  2. Atoms, bonds and the molecule is checked for SMILES, SMARTS compatibility (default).

  3. In addition to the checks in case of value 5, double bonds in alternating single and double bond chain are checked for correct export.

Example: Let molecule.mrv file contain the molecule CC=CC=CC=CC where the two side double bonds are in TRANS configuration but the middle one has no CIS, TRANS information (crossed double bond, or double bond with wiggly bond).
molconvert smiles:r7 m.mrv will drop an Exception: "Nonstereo double bond between active CIS TRANS stereo bonds. Not possible to export it correctly to SMILES"
molconvert smiles m.mrv results C\C=C\C=C\C=C\C (which is incorrect in the sense that the middle bond became TRANS configuration).


Write query smarts. (See query SMARTS for details.)


Write unique smiles (considering chirality info also [2]). Note: Use this option if you want unique smiles export.


Convert explicit H atoms to query hydrogen count.


Export f1, f2 ... SDF fields. The fields are separated by tab character.
If '-' is given before the T option like '-Tf1:f2:...' then no header line is written.
'*' character is used to export all fields (and name also) in the molecules.
'name' field is used to export molecule name (if no 'name' field in the molecule exists).


Export terminal atom with single_or_aromatic bond.
Examples: instead of [#6]-c1ccccc1 export the molecule to [#6]c1ccccc1
instead of [#6]-[#6] export the molecule to [#6][#6]


Export molecule name (the first line of an MDL molfile).


Use compressed format, and compress the SMILES string. Note that the compressed format is not recognized by the import, so it should be specified explicitly.


Write the UTF-8 byte order mark (BOM), if the given or the system's encoding is UTF-8.

See also: