From d922956daeacdbe6235d972159e90342551b6051 Mon Sep 17 00:00:00 2001 From: Feriolet Date: Sun, 12 Jan 2025 13:02:44 +0800 Subject: [PATCH 1/2] accomodate sdf when init is interrupted --- easydock/database.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/easydock/database.py b/easydock/database.py index 88f8d20..c9268ae 100644 --- a/easydock/database.py +++ b/easydock/database.py @@ -252,7 +252,7 @@ def generate_init_data(mol_input: tuple[Chem.Mol, str], max_stereoisomers: int, isomer_list.append(['smi', (mol_name, 0, smi_input, None)]) return isomer_list - +from time import sleep def init_db(db_fname: str, input_fname: str, ncpu: int, max_stereoisomers=1, prefix: str=None): Chem.SetDefaultPickleProperties(Chem.PropertyPickleOptions.AllProps) @@ -261,7 +261,7 @@ def init_db(db_fname: str, input_fname: str, ncpu: int, max_stereoisomers=1, pre cur = conn.cursor() mol_input = read_input.read_input(input_fname) - last_index = cur.execute('SELECT COUNT(smi_input) FROM mols WHERE (stereo_id = 0)').fetchone()[0] + last_index = cur.execute('SELECT COUNT(*) FROM mols WHERE (stereo_id = 0)').fetchone()[0] if last_index: from itertools import islice mol_input = islice(mol_input, last_index, None) @@ -275,14 +275,14 @@ def init_db(db_fname: str, input_fname: str, ncpu: int, max_stereoisomers=1, pre data_smi.append(data) elif input_format == 'mol': data_mol.append(data) - - if i % 100 == 0: + + if i % 2 == 0: cur.executemany(f'INSERT INTO mols (id, stereo_id, smi_input, smi) VALUES(?, ?, ?, ?)', data_smi) cur.executemany(f'INSERT INTO mols (id, stereo_id, smi, source_mol_block_input, source_mol_block) VALUES(?, ?, ?, ?, ?)', data_mol) conn.commit() data_smi = [] # non 3D structures data_mol = [] # 3D structures - + sleep(4) cur.executemany(f'INSERT INTO mols (id, stereo_id, smi_input, smi) VALUES(?, ?, ?, ?)', data_smi) cur.executemany(f'INSERT INTO mols (id, stereo_id, smi, source_mol_block_input, source_mol_block) VALUES(?, ?, ?, ?, ?)', data_mol) conn.commit() From 6d2e19aa266b040682fc5e0098797c82295ea99e Mon Sep 17 00:00:00 2001 From: Feriolet Date: Sun, 12 Jan 2025 13:05:10 +0800 Subject: [PATCH 2/2] accomodate sdf when init is interrupted --- easydock/database.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/easydock/database.py b/easydock/database.py index c9268ae..719edab 100644 --- a/easydock/database.py +++ b/easydock/database.py @@ -252,7 +252,7 @@ def generate_init_data(mol_input: tuple[Chem.Mol, str], max_stereoisomers: int, isomer_list.append(['smi', (mol_name, 0, smi_input, None)]) return isomer_list -from time import sleep + def init_db(db_fname: str, input_fname: str, ncpu: int, max_stereoisomers=1, prefix: str=None): Chem.SetDefaultPickleProperties(Chem.PropertyPickleOptions.AllProps) @@ -275,14 +275,14 @@ def init_db(db_fname: str, input_fname: str, ncpu: int, max_stereoisomers=1, pre data_smi.append(data) elif input_format == 'mol': data_mol.append(data) - - if i % 2 == 0: + + if i % 100 == 0: cur.executemany(f'INSERT INTO mols (id, stereo_id, smi_input, smi) VALUES(?, ?, ?, ?)', data_smi) cur.executemany(f'INSERT INTO mols (id, stereo_id, smi, source_mol_block_input, source_mol_block) VALUES(?, ?, ?, ?, ?)', data_mol) conn.commit() data_smi = [] # non 3D structures data_mol = [] # 3D structures - sleep(4) + cur.executemany(f'INSERT INTO mols (id, stereo_id, smi_input, smi) VALUES(?, ?, ?, ?)', data_smi) cur.executemany(f'INSERT INTO mols (id, stereo_id, smi, source_mol_block_input, source_mol_block) VALUES(?, ?, ?, ?, ?)', data_mol) conn.commit()