def _getSMILESStream(f, mols, delimiter=' ', nameHeader='Name', includeHeader=True, isomericSmiles=False, kekuleSmiles=False): w = SmilesWriter(f, delimiter=delimiter, nameHeader=nameHeader, includeHeader=includeHeader, isomericSmiles=isomericSmiles, kekuleSmiles=kekuleSmiles) for mol in mols: w.write(mol) w.flush()
def stream_smiles_results(operation, query, source, annotate=False): buf = StringIO() filtered = operation(query, source, annotate=annotate) results = SmilesWriter(buf, isomericSmiles=True, includeHeader=False) if annotate: results.SetProps(['match']) for result in filtered: buf.truncate(0) results.write(result) results.flush() yield buf.getvalue()
def write_smiles_results(operation, needles, haystack, dest, annotate=False, extra_props=0): filtered = operation(needles, haystack, annotate=annotate) results = SmilesWriter(dest, isomericSmiles=True, includeHeader=False) props = [] if annotate: props.append('match') if extra_props: props.extend('ExtraProp{0}'.format(i+1) for i in range(extra_props)) results.SetProps(props) for result in filtered: results.write(result) return results.NumMols()
def _getSMILESStream(f, mols): w = SmilesWriter(f, isomericSmiles=True) for mol in mols: w.write(mol) w.flush()
from sys import argv from rdkit.Chem import SDMolSupplier, SmilesWriter sdm = SDMolSupplier(argv[1]) sw = SmilesWriter(argv[2], includeHeader=False, nameHeader='_Name') for mol in sdm: sw.write(mol) sw.close()