Combinatorial analogs: Difference between revisions

From DISI
Jump to navigation Jump to search
(Created page with "Here's an example of how to generate combinatorial analogs from the same parent. Make sure to source my environment first: source /nfs/home/omailhot/pyenv_source.sh Then, you will want to create a .png file of your parent with standard numbering on it. We'll use etomidate in this example: from bksltk.analogs import write_numbered_parent_png, make_analogs_combinations eto_smiles = 'CCOC(=O)C1=CN=CN1[C@H](C)C2=CC=CC=C2' write_numbered_parent_png(eto_smiles, 'test_p...")
 
No edit summary
 
Line 10: Line 10:
  write_numbered_parent_png(eto_smiles, 'test_parent.png')
  write_numbered_parent_png(eto_smiles, 'test_parent.png')


Look at the .png, and figure out where your modifications lie. Then, you'll create a "modification dictionary" that will be used for combinatorial generation of analogs. In this example, carbon 0 can get a hydroxyl, fluorine or methyl attached, carbons 6 and 14 can get methylated, carbon 15 can get replaced with an aromatic nitrogen or get hydroxylated, and carbon 16 can get hydroxylated.  
Look at the .png, and figure out where your modifications lie. Then, you'll create a "modification dictionary" that will be used for combinatorial generation of analogs. In this example, carbon 0 can get a hydroxyl, fluorine or methyl attached, carbons 6 and 14 can get methylated, carbon 15 can get replaced with an aromatic nitrogen or get hydroxylated, and carbon 16 can get hydroxylated. The n_combinations_list specifies how many modifications should be combined in the kept analogs. In this example, analogs that are combining 2, 3 or 4 modifications will be enumerated. The output_filename will generate a both .png and a .csv file with the enumerated analogs.


  make_analogs_combinations({0: ['O', 'F', 'C'],
  modifications_dict = {0: ['O', 'F', 'C'],
                            6: ['C'],
                      6: ['C'],
                            14: ['C'],
                      14: ['C'],
                            15: ['N', 'O'],
                      15: ['N', 'O'],
                            16: ['O']}, eto_smiles, [2, 3, 4], 'eto_combined_analogs')
                      16: ['O']}
eto_smiles = 'CCOC(=O)C1=CN=CN1[C@H](C)C2=CC=CC=C2'
n_combinations_list = [2, 3, 4]
output_filename = 'eto_combined_analogs'
make_analogs_combinations(modifications_dict, eto_smiles, n_combinations_list, output_filename)

Latest revision as of 21:02, 3 December 2024

Here's an example of how to generate combinatorial analogs from the same parent. Make sure to source my environment first:

source /nfs/home/omailhot/pyenv_source.sh

Then, you will want to create a .png file of your parent with standard numbering on it. We'll use etomidate in this example:

from bksltk.analogs import write_numbered_parent_png, make_analogs_combinations
eto_smiles = 'CCOC(=O)C1=CN=CN1[C@H](C)C2=CC=CC=C2'
write_numbered_parent_png(eto_smiles, 'test_parent.png')

Look at the .png, and figure out where your modifications lie. Then, you'll create a "modification dictionary" that will be used for combinatorial generation of analogs. In this example, carbon 0 can get a hydroxyl, fluorine or methyl attached, carbons 6 and 14 can get methylated, carbon 15 can get replaced with an aromatic nitrogen or get hydroxylated, and carbon 16 can get hydroxylated. The n_combinations_list specifies how many modifications should be combined in the kept analogs. In this example, analogs that are combining 2, 3 or 4 modifications will be enumerated. The output_filename will generate a both .png and a .csv file with the enumerated analogs.

modifications_dict = {0: ['O', 'F', 'C'],
                      6: ['C'],
                      14: ['C'],
                      15: ['N', 'O'],
                      16: ['O']}
eto_smiles = 'CCOC(=O)C1=CN=CN1[C@H](C)C2=CC=CC=C2'
n_combinations_list = [2, 3, 4]
output_filename = 'eto_combined_analogs'
make_analogs_combinations(modifications_dict, eto_smiles, n_combinations_list, output_filename)