Python



Features & Limitations

Download & Installation

PyDaylight Acquire the pydaylight-1.0.tar.gz archive.
% gzip -dc pydaylight-1.0.tar.gz | tar xf -
% cd pydaylight-1.0/
% more README
% python setup.py build
% su root
    # python setup.py install

Example Code & Execution

PyDaylight
cansmi.py
#!/usr/bin/env python

import string, sys
from daylight import Smiles, DaylightError

def main(argv):
    while 1:
        line = sys.stdin.readline()
        if not line:
            break
        smi = string.split(line[:-1])[0]
        try:
            mol = Smiles.smilin(smi)
            s = mol.cansmiles(1)
            print s
        except DaylightError, msg:
            print "Can't make unique SMILES for %s: %s" % (repr(smi), msg)
if __name__ == "__main__":
    main(sys.argv)
% echo "OCC" | python cansmi.py
CCO 
Component
Exploration
% python
...
>>> from daylight import Smiles, DaylightError
>>> print Smiles.__doc__
Given a SMILES string, create a Molecule or Reaction

from daylight import Smiles
mol = Smiles.smilin("c1ccccc")
rxn = Smiles.smilin("C[13CH2]OC1CCC(O1)(C=O)C(C)CC>CC(O)C>CCC(C)c1ccco1")

>>> dir(Smiles)
['Molecule', 'Reaction', 'TYP_MOLECULE', 'TYP_REACTION', '__builtins__', '__doc__', '__file__'
, '__name__', 'daylight', 'dt_smilin', 'dt_smilin_addh', 'dt_type', 'smart_ptr', 'smilin', 'smilin_addh']
>>> Smiles.dt_smilin
<built-in function dt_smilin>
>>> Smiles.smilin("c1ccccc")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/daylight/Smiles.py", line 62, in smilin
    raise daylight.BadFormat, msg
daylight.BadFormat:    ERROR: Unclosed ring: 1  (dy_parse_smiles)