#helper functions from rdkit import Chem from rdkit.Chem.Draw import IPythonConsole from rdkit.Chem import Draw from rdkit.Chem import AllChem def depict(input): if(">>" in input): rxn = AllChem.ReactionFromSmarts(input) return Draw.ReactionToImage(rxn) else: temp = Chem.MolFromSmiles(input) return temp def showMMPs(in_string): f = in_string.split(",") rxn =f[-2].split(">>") mols=[] ids=[] mols.append( Chem.MolFromSmiles(f[-6]) ) mols.append( Chem.MolFromSmiles(f[-5]) ) mols.append( Chem.MolFromSmiles(rxn[0]) ) mols.append( Chem.MolFromSmiles(rxn[1]) ) mols.append( Chem.MolFromSmiles(f[-1]) ) ids.append(f[-3]) ids.append(f[-4]) ids.append("LHS") ids.append("RHS") ids.append("CONTEXT") return Draw.MolsToGridImage(mols,molsPerRow=6,legends=ids) def showLine(in_string): f = in_string.split(",") mols=[] ids=[] mols.append( Chem.MolFromSmiles(f[0]) ) mols.append( Chem.MolFromSmiles(f[1]) ) mols.append( Chem.MolFromSmiles(f[4]) ) mols.append( Chem.MolFromSmiles(f[5]) ) ids.append("Query:%s" % f[2]) ids.append(f[3]) ids.append("CHANGE") ids.append("CONTEXT") return Draw.MolsToGridImage(mols,molsPerRow=4,legends=ids) cd t2_files/ ls !python $RDBASE/Contrib/mmpa/create_mmp_db.py >[*:1]c1cccnc1,[*:1]CNc1ncnc2sccc21") !head sample_db_input_trans.txt depict("[*:1]c1ccccc1>>[*:1]c1cccnc1") !python $RDBASE/Contrib/mmpa/search_mmp_db.py -t trans >[*:1]c1cccnc1,[*:1]CNc1ncnc2sccc21") !head sample_db_input_subs_smarts.txt !python $RDBASE/Contrib/mmpa/search_mmp_db.py -t subs_smarts >[*:1]c1ccc(C(=O)O)cc1,[*:1]NC(=O)C1COc2ccccc2O1") showMMPs("a,c1cc2c(ncnc2NCc2ccccc2)s1,c1cc2c(ncnc2NCc2cccnc2)s1,2139597,2531831,[*:1]c1ccccc1>>[*:1]c1cccnc1,[*:1]CNc1ncnc2sccc21") !head sample_db_input_trans_smarts.txt !python $RDBASE/Contrib/mmpa/search_mmp_db.py -t trans_smarts >n,ts,c1cc2c(ncnc2NCc2ccccc2)s1,c1cc2c(ncnc2NCc2cccnc2)s1,2139597,2531831,[*:1]NCc1ccccc1>>[*:1]NCc1cccnc1,[*:1]c1ncnc2sccc21")