#!/usr/local2/bin/python2.3 import os, sys from openeye.oechem import * if sys.argv[1][-4:] != '.sdf': print 'INPUT ERROR: works only with sdf-files' raise SystemExit() prefix = sys.argv[1][:-4] # Just run ionizer os.system('sdconvert -st -isd '+prefix+'.sdf -omae '+prefix+'.mae') os.system('ionizer -i 2 -ph 7 -s '+sys.argv[2]+' -i '+prefix+'.mae -l '+prefix+'_ionizer.log -b '+prefix+'_ionizer_bad.mae -o '+prefix+'_ionizer.mae') #print 'ionizer -i 2 -ph 7 -s ionizer_tiOH_exclude.ini -i '+prefix+'.mae -l '+prefix+'_ionizer.log -b '+prefix+'_ionizer_bad.mae -o '+prefix+'_ionizer.mae' os.system('sdconvert -imae '+prefix+'_ionizer.mae -osd '+prefix+'_ionizer.sdf') raise SystemExit() titles = [] ifs = oemolistream() ofs = oemolostream() ifs.open(prefix+'_ionizer_out.sdf') ofs.open(prefix+'_corina_ionizer_out.sdf') for mol in ifs.GetOEMols(): num = 1 title = mol.GetTitle()+'_lp'+str(num) while title in titles: num+=1 title = mol.GetTitle()+'_lp'+str(num) mol.SetTitle(title) titles.append(title) OEWriteMolecule(ofs, mol) ofs.close() ifs.close() os.system('rm -rf '+prefix+'_corina_out.mae '+prefix+'_ionizer_out.mae '+prefix+'_ionizer_out.sdf')