Drug Design Filters
Most common are drug filters in reducing a dataset of large SMILES down. These filters can be cumbersome to find, compare, and code. So we extended GlobalChemExtensions
to cover that. We use RDKit
to fetch the parameters of each molecule.
Imports
from global_chem_extensions import GlobalChemExtensions
cheminformatics = GlobalChemExtensions().cheminformatics()
Filter a Drug by one of the Filters
gc.build_global_chem_network()
smiles_list = list(gc.get_node_smiles('emerging_perfluoroalkyls').values())
filtered_smiles = cheminformatics.filter_smiles_by_criteria(
smiles_list,
lipinski_rule_of_5=True,
ghose=False,
veber=False,
rule_of_3=False,
reos=False,
drug_like=False,
pass_all_filters=False
)
print (filtered_smiles)
Algorithm
Lipinski
Lipinski:
Moleculer Weight <= 500
LogP <= 5
H-Bond Donor Count <= 5
H-Bond Acceptor Count <= 10
Ghose
Ghose:
Molecular weight between 160 and 480
LogP between -0.4 and +5.6
Atom count between 20 and 70
Molar refractivity between 40 and 130
Veber
Veber:
Rotatable bonds <= 10
Topological polar surface area <= 140
Rule of 3
Rule of 3:
Molecular weight <= 300
LogP <= 3
H-bond donor <= 3
H-bond acceptor count <= 3
Rotatable bond count <= 3
Drug-Like (QED)
mass < 400
ring count > 0
rotatable bond count < 5
h-bond donor count <= 5
h-bond acceptor count <= 10
logP < 5
For a more detailed look, please visit this blog for an application on the WITHDRAWN
database:
Last updated