Scaffold Network Generator
![Slack](https://camo.githubusercontent.com/1e8c3fe7e41b19a4b34710f9b3fc8db989595d76895e755133c4321e925d7d9f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f736c61636b2d3939366963752d677265656e2e7376673f7374796c653d666c61742d737175617265)
![](https://camo.githubusercontent.com/a8fbb7de3b660a25f712713d88b852f7140120d854219c7fc95e1061c4cbee87/68747470733a2f2f736f757263657265722e696f2f66616d652f6a616368342f6a616368342f73636166666f6c645f6e6574776f726b5f67656e657261746f722f696d616765732f30)
![](https://camo.githubusercontent.com/5cee5ee8b06157eeb3e0a899005b0299459e85bccabad3ac2a0e43d55ee0fb3b/68747470733a2f2f736f757263657265722e696f2f66616d652f6a616368342f6a616368342f73636166666f6c645f6e6574776f726b5f67656e657261746f722f696d616765732f31)
![](https://camo.githubusercontent.com/80661c5bcfead6cf8780ebaf4d7603f0705e0f4b7eadb4079c99db6274ac7576/68747470733a2f2f736f757263657265722e696f2f66616d652f6a616368342f6a616368342f73636166666f6c645f6e6574776f726b5f67656e657261746f722f696d616765732f32)
![](https://camo.githubusercontent.com/0d42b0b50c82b3ce20e83a6ed4c9f2617ae73149073c2ba4c7dc0e2ebb5785cf/68747470733a2f2f736f757263657265722e696f2f66616d652f6a616368342f6a616368342f73636166666f6c645f6e6574776f726b5f67656e657261746f722f696d616765732f33)
![](https://camo.githubusercontent.com/1715f1e539cc5e357cb7b411990581269b7d1d355fb698b95353778810df2f20/68747470733a2f2f736f757263657265722e696f2f66616d652f6a616368342f6a616368342f73636166666f6c645f6e6574776f726b5f67656e657261746f722f696d616765732f34)
![](https://camo.githubusercontent.com/e0a7521c1d7830823356caba9ecb3e5004f945d0478bbf36a06a22c702ccedeb/68747470733a2f2f736f757263657265722e696f2f66616d652f6a616368342f6a616368342f73636166666f6c645f6e6574776f726b5f67656e657261746f722f696d616765732f35)
![](https://camo.githubusercontent.com/e228d8f71aba13385d7713aeabe51681241a6bee2b08693dd1fb682011b161ba/68747470733a2f2f736f757263657265722e696f2f66616d652f6a616368342f6a616368342f73636166666f6c645f6e6574776f726b5f67656e657261746f722f696d616765732f36)
![](https://camo.githubusercontent.com/cbce68d0a63a335cba7d9ceba4f24bf724a42633c07295952d0ed88746880131/68747470733a2f2f736f757263657265722e696f2f66616d652f6a616368342f6a616368342f73636166666f6c645f6e6574776f726b5f67656e657261746f722f696d616765732f37)
git clone [email protected]:jach4/scaffold_network_generator.git sng
cd sng
python scaffolds_output.py --out_fmt=protobuf --np=50 --nq=100000 --file_input=data/datasets/input.smi --scaffolds_output=data/datasets/idx_sm.bin --file_output=data/datasets/idx_ls.bin
python scaffolds_output.py --out_fmt=postgres --np=80 --nq=100000 --file_input=data/datasets/input.smi --sql_dic=./data1.json --db_name=sc1
Read the entire scaffold message from a file
from data import *
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import IPythonConsole
dic_scaffold = DicIdxLs()
with open('data/datasets/idx_ls.bin', 'rb') as f:
dic_scaffold.ParseFromString(f.read())
dic_idx_sm = DicIdxSm()
with open('data/datasets/idx_sm.bin', 'rb') as f:
dic_idx_sm.ParseFromString(f.read())
print(len(dic_scaffold.smiles_scaffold))
print(dic_idx_sm.sm_sc[1990])
Chem.MolFromSmiles(dic_idx_sm.sm_sc[1990])
c1n[nH]nc1-c1nnc(-c2cnns2)o1
![avatar](images/output_3_1.png)
dic_scaffold.smiles_scaffold[1990]
dic_mol_atoms {
idx_mol: 111921
ls_atom {
idx_atom: 1
idx_atom: 2
idx_atom: 3
idx_atom: 10
idx_atom: 11
idx_atom: 12
idx_atom: 13
idx_atom: 14
idx_atom: 15
idx_atom: 16
idx_atom: 17
idx_atom: 18
idx_atom: 19
idx_atom: 20
idx_atom: 22
}
ls_nh {
idx_atom: 3
}
ls_np {
}
}
The 111,921th molecule containing the 1990th scaffold
Chem.MolFromSmiles(smiles_from_line(111921))
![avatar](images/output_6_0.png)
Get the scaffold network of The 111,921th molecule
scaffold_list = get_mol_graph(smiles_from_line(111921)).ls_mol_from_sng_u()
Draw.MolsToGridImage(scaffold_list)
![avatar](images/output_9_0.png)