#functions to help visualise output 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 showFile(in_file): fo = open(in_file, "r") mols=[] ids=[] n=0 for line in fo: if(n < 10): smi,id = line.rstrip().split() mols.append( Chem.MolFromSmiles(smi) ) ids.append(id) n=n+1 return Draw.MolsToGridImage(mols,molsPerRow=5,legends=ids) def showMMPs(in_file): fo = open(in_file, "r") mols=[] trans=[] n=0 for line in fo: if(n < 9): m1,m2,id1,id2,t,c = line.rstrip().split(",") smi = "%s.%s" % (m1,m2) mols.append( Chem.MolFromSmiles(smi) ) trans.append(t) n=n+1 return Draw.MolsToGridImage(mols,molsPerRow=3,subImgSize= ( 300 , 300 ) ,legends=trans) def showLine(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) cd t1_files/ ls !wc -l sample.smi !head sample.smi showFile('sample.smi') !python $RDBASE/Contrib/mmpa/rfrag.py out_fragmented.txt !head out_fragmented.txt !python $RDBASE/Contrib/mmpa/indexing.py out_mmps_default.csv !head out_mmps_default.csv showLine("Cc1cccn2cc(-c3cccc(S(=O)(=O)N4CCCCC4)c3)nc12,Cc1cccn2cc(-c3ccc(S(=O)(=O)N4CCCCC4)cc3)nc12,2963575,1156028,[*:1]c1cccc([*:2])c1>>[*:1]c1ccc([*:2])cc1,[*:1]c1cn2cccc(C)c2n1.[*:2]S(=O)(=O)N1CCCCC1") showMMPs("out_mmps_default.csv") !python $RDBASE/Contrib/mmpa/indexing.py -m 3 >[*:1]O,[*:1]c1ccc(-c2cc3ccccc3oc2=O)cc1") !python $RDBASE/Contrib/mmpa/indexing.py -r 0.1 >[*:1]O,[*:1]c1ccc(-c2cc3ccccc3oc2=O)cc1") !python $RDBASE/Contrib/mmpa/indexing.py -r 0.1 -s out_mmps_sym.csv !head out_mmps_sym.csv showMMPs("out_mmps_sym.csv") depict("[*:2]c1ccc([*:1])o1>>[*:1]c1ccc([*:2])cc1") depict("[*:1]c1ccc([*:2])o1>>[*:2]c1ccc([*:1])cc1") !head sample_smirks.txt !python $RDBASE/Contrib/mmpa/cansmirk.py >[*:1]C(N)=O") !head sample_smiles_mol_trans.smi depict("O=C(O)c1ccc(NC(=O)C2COc3ccccc3O2)cc1") !python $RDBASE/Contrib/mmpa/mol_transform.py -f sample_smirks_mol_trans.txt