Chemistry Reference
In-Depth Information
Create Or Replace Function frowns.molfile_to_smiles(molfile Text)
Returns Text As $EOPY$
from frowns import MDL
from frowns import Smiles
from frowns.mdl_parsers import Generator
import StringIO
import sys
#fd = StringIO.StringIO(molfile + "\n$$$$")
fd = StringIO.StringIO(molfile)
reader = MDL.sdin(fd)
mol, text, error = reader.next()
fd.close()
if not mol:
print "Error parsing molfile"
print error + text
return None
else:
# sometimes mol.cansmiles emits [C] when C is proper, this seems
to fix that
return frowns.Generator.INDEX
#return (Smiles.smilin(mol.cansmiles())).cansmiles()
#raise ValueError("Error parsing molfile")
return None
$EOPY$ Language plpythonu Immutable;
Drop Type frowns.named_property Cascade;
Create Type frowns.named_property As (name Text, value Text);
Create Or Replace Function frowns.molfile_properties(molfile Text)
Returns Setof frowns.named_property As $EOPY$
from frowns import MDL
import StringIO
fd = StringIO.StringIO(molfile + "\n$$$$")
for mol, text, error in MDL.sdin(fd):
if not mol:
print error + text
return None
else:
#mol.fields["cansmiles"] = mol.cansmiles()
return mol.fields.items()
print "Error parsing molfile"
#raise ValueError("Error parsing molfile")
return None
$EOPY$ Language plpythonu Immutable;
Create Or Replace Function frowns.matches(smi Text, sma Text)
Returns Boolean As $EOPY$
from frowns import Smiles
from frowns import Smarts
mol = Smiles.smilin(smi)
pat = Smarts.compile(sma)
match = pat.match(mol)
Search WWH ::




Custom Search