Daylight v4.9
Release Date: 1 February 2008


dt_smilin - interpret a SMILES string

Generic Prototype

dt_smilin(dt_String) => dt_Handle

C Prototype

#include "dt_smiles.h"

dt_Handle dt_smilin(dt_Integer length, dt_String string)

FORTRAN Prototype

include ''

integer*4 dt_f_smilin(string)

character*() string


Interprets the given SMILES string and allocates a new molecule or reaction object. A reaction will be created only if the reaction toolkit license is available. If a reaction SMILES is given for a program which does not have the reaction toolkit license, dt_smilin() fails as if an invalid molecule SMILES was input.

Any errors or warnings detected during the SMILES interpretation are put in a special error buffer. These messages and/or warnings are accessed via dt_smilinerrors(3).

Return Value

Returns the handle of a new molecule object, or NULL_OB if the string does not represent a valid molecule or reaction. Also returns NULL_OB if the string is a valid reaction but the reaction toolkit license is not available.

Related Topics

dt_alloc_mol(3) dt_arborder(3) dt_arbsmiles(3) dt_arbstream(3) dt_canstream(3) dt_cansmiles(3) dt_origstream(3) dt_setarborder(3) dt_smilinerrors(3)


This function clears all error messages. That is, calling dt_smilin(3) has the side effect calling dt_errorclear(3) -- all previously-generated error messages, from Toolkit internal error detection, and those errors explicitly saved via dt_errorsave(3) are discarded.