def __init__(self, smartspattern): """Initialise with a SMARTS pattern.""" self.search = chemaxon.sss.search.MolSearch() smarts = MolHandler(smartspattern) smarts.setQueryMode(True) smarts.aromatize() self.search.setQuery(smarts.molecule)
#output needs to look like this: #qSubs,qSmi,qID,inSmi,id,tversky #first read in queries q_split_input = open("frag_q_split_out", 'r') queries = [] for line in q_split_input: info = line.rstrip().split(",") #print info #generate fp for query #print info[2] mol = MolHandler(info[2]).getMolecule() mol.aromatize(Molecule.AROM_GENERAL) qfp = ChemicalFingerprint(cfp) qfp.generate(mol) qintfp = array.array('i', list(map(int, qfp.toFloatArray()))) queries.append((qintfp, info[0], info[1], info[2])) #print queries for line in sys.stdin: line_fields = re.split('\s|,', line) dbsmi = line_fields[0] dbid = line_fields[1]