teohyc commited on
Commit
7393ba7
·
verified ·
1 Parent(s): e49b3c8

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +76 -69
README.md CHANGED
@@ -1,70 +1,77 @@
1
-
2
- # De Novo Drug Generator - RNN-VAE
3
-
4
- De Novo Drug Generator - RNN-VAE is a deep learning model designed for generating novel drug molecules.
5
- Training data from ChemBL library
6
-
7
- Full project file at https://github.com/teohyc/drug_agent
8
-
9
-
10
- ## Usage
11
-
12
- ```python
13
- from rdkit import Chem
14
- from rdkit.Chem import Draw, Descriptors
15
- from tree_rnn_vae_infer import generate_candidate_mol
16
- from tree_rnn_vae_model import TreeEncoder, LatentHead, TreeVAE, TreeDecoder
17
-
18
-
19
- def compute_molecule_props(mol):
20
- return {
21
- "MW": Descriptors.MolWt(mol),
22
- "logP": Descriptors.MolLogP(mol),
23
- "HBD": Descriptors.NumHDonors(mol),
24
- "HBA": Descriptors.NumHAcceptors(mol),
25
- }
26
-
27
-
28
- # display molecule
29
- def render_molecule_grid(selected):
30
- if not selected:
31
- return
32
-
33
- mols, legends = [], []
34
-
35
- if isinstance(selected, dict):
36
- iterable = selected.items()
37
- else:
38
- iterable = enumerate(selected, 1)
39
-
40
- for i, item in iterable:
41
- if isinstance(selected, dict):
42
- smi, props = i, item
43
- else:
44
- smi, props = item, None
45
-
46
- mol = Chem.MolFromSmiles(smi)
47
- if mol:
48
- mols.append(mol)
49
- if props is None:
50
- props = compute_molecule_props(mol)
51
- legends.append(
52
- f"M{i}
53
- MW={props['MW']:.0f}, logP={props['logP']:.2f}, "
54
- f"HBD={props['HBD']}, HBA={props['HBA']}"
55
- )
56
-
57
- img = Draw.MolsToGridImage(
58
- mols,
59
- molsPerRow=3,
60
- subImgSize=(400, 400),
61
- legends=legends,
62
- useSVG=False,
63
- )
64
- return img
65
-
66
-
67
- molecules = generate_candidate_mol(num_samples=6, max_len=20) #change to your desired molecule size and number
68
- img = render_molecule_grid(molecules)
69
- img.show()
 
 
 
 
 
 
 
70
  ```
 
1
+ ---
2
+ license: mit
3
+ language:
4
+ - en
5
+ tags:
6
+ - PyTorch
7
+ ---
8
+
9
+ # De Novo Drug Generator - RNN-VAE
10
+
11
+ De Novo Drug Generator - RNN-VAE is a deep learning model designed for generating novel drug molecules.
12
+ Training data from ChemBL library
13
+
14
+ Full project file at https://github.com/teohyc/drug_agent
15
+
16
+
17
+ ## Usage
18
+
19
+ ```python
20
+ from rdkit import Chem
21
+ from rdkit.Chem import Draw, Descriptors
22
+ from tree_rnn_vae_infer import generate_candidate_mol
23
+ from tree_rnn_vae_model import TreeEncoder, LatentHead, TreeVAE, TreeDecoder
24
+
25
+
26
+ def compute_molecule_props(mol):
27
+ return {
28
+ "MW": Descriptors.MolWt(mol),
29
+ "logP": Descriptors.MolLogP(mol),
30
+ "HBD": Descriptors.NumHDonors(mol),
31
+ "HBA": Descriptors.NumHAcceptors(mol),
32
+ }
33
+
34
+
35
+ # display molecule
36
+ def render_molecule_grid(selected):
37
+ if not selected:
38
+ return
39
+
40
+ mols, legends = [], []
41
+
42
+ if isinstance(selected, dict):
43
+ iterable = selected.items()
44
+ else:
45
+ iterable = enumerate(selected, 1)
46
+
47
+ for i, item in iterable:
48
+ if isinstance(selected, dict):
49
+ smi, props = i, item
50
+ else:
51
+ smi, props = item, None
52
+
53
+ mol = Chem.MolFromSmiles(smi)
54
+ if mol:
55
+ mols.append(mol)
56
+ if props is None:
57
+ props = compute_molecule_props(mol)
58
+ legends.append(
59
+ f"M{i}
60
+ MW={props['MW']:.0f}, logP={props['logP']:.2f}, "
61
+ f"HBD={props['HBD']}, HBA={props['HBA']}"
62
+ )
63
+
64
+ img = Draw.MolsToGridImage(
65
+ mols,
66
+ molsPerRow=3,
67
+ subImgSize=(400, 400),
68
+ legends=legends,
69
+ useSVG=False,
70
+ )
71
+ return img
72
+
73
+
74
+ molecules = generate_candidate_mol(num_samples=6, max_len=20) #change to your desired molecule size and number
75
+ img = render_molecule_grid(molecules)
76
+ img.show()
77
  ```