Introduction:
In drug discovery, finding potential medicines has always been hard and took a long time. But now, new computer methods have changed things. They give smart ways to design drugs. One growing way is called Fraction-Based Drug Design (FBDD). FBDD uses small bits of molecules, called fragments, to make new drugs. This article explains how FBDD works. It covers picking fragments, docking them, making them bigger, linking them together and merging them. Plus, it shows Python code for each step.
Fragment Selection:
To start FBDD, we need to pick different bits of molecules from big collections stored in libraries or databases. These bits are like building blocks for making new drugs. When we pick them, we think about a few things like how different they are chemically, how easy they are to make and how well they stick to their target. We use special tools in Python, like RDKit or Open Babel, to help us pick these bits. These tools check the bits’ characteristics, like their shape and size and see how different they are from each other. This helps us choose the best bits to work with.
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem import Descriptors
from rdkit import DataStructsdef calculate_properties(mol):
mw = Descriptors.MolWt(mol)
logp = Descriptors.MolLogP(mol)
tpsa = Descriptors.TPSA(mol)
return mw, logp, tpsadef select_fragments(molecules, num_fragments):
fragment_set = set()
for mol in molecules:
fragments = AllChem.GetMolFrags(mol, asMols=True)
for frag in fragments:
fragment_set.add(Chem.MolToSmiles(frag))
return list(fragment_set)[:num_fragments]# database load molecule from SMILES database
molecules = [Chem.MolFromSmiles(smiles) for smiles in database]
selected_fragments = select_fragments(molecules, num_fragments=100)
Fragment Docking:
After we pick the bits of molecules, we need to see how well they stick to the target protein. We use special computer programs called molecular docking algorithms to do this. These programs help us predict how the bits will fit into the target protein’s active site and how strong they will stick there. This helps us find out which bits might work best as medicines. In Python, we have tools like AutoDock, Vina or PyRosetta that make this job easier by doing it automatically.
from autodock_vina import Vina
def perform_docking(target_protein, fragments):
docking_results = {}
vina = Vina()
for fragment in fragments:
result = vina.dock(target_protein, fragment)
docking_results[fragment] = result
return docking_resultstarget_protein = load_protein('protein.pdb')
docking_results = perform_docking(target_protein, selected_fragments)
Fragment Growing:
After we check how well the bits stick to the target protein, we want to make them even better. We do this by making the bits bigger in a process called “growing.” We use special computer techniques, like de novo design or fragment elaboration, to do this. These techniques help us turn the small bits into bigger, more drug-like molecules. In Python, we can use libraries like RDKit to help us with this. RDKit gives us tools to change the shape and structure of the molecules, like replacing parts of the molecule, changing its side groups, or making its rings bigger. This helps us make the molecules stronger and more likely to work as medicines.
from rdkit.Chem import rdMolDescriptors
def grow_fragment(fragment):
expanded_fragments = []
scaffold = Chem.MolFromSmiles('scaffold_smiles')
for replacement in replacements:
new_mol = rdMolDescriptors.ReplaceSubstructs(scaffold, fragment, replacement)
expanded_fragments.append(new_mol)
return expanded_fragmentsexpanded_fragments = []
for fragment in selected_fragments:
expanded_fragments.extend(grow_fragment(fragment))
Fragment Linking:
Fragment linking is about putting together several small pieces of molecules to make bigger ones that work better. We do this to make the molecules stronger and more selective. In this step, we find pieces that fit well together, like puzzle pieces and join them either by strong chemical bonds or weaker interactions. In Python, we use tools like RDKit or Open Babel to help us line up the pieces, stick them together and make sure everything fits just right. This makes the linking process smooth and efficient.
def link_fragments(fragments):
linked_molecules = []
for combination in itertools.combinations(fragments, 2):
linked = Chem.CombineMols(combination)
linked_molecules.append(linked)
return linked_moleculeslinked_molecules = link_fragments(selected_fragments)
Fragment Merging:
Lastly, fragment merging is about combining different bits of molecules that work well together to make new compounds that have the properties we want in a medicine. We use techniques like combinatorial chemistry or retrosynthetic analysis to do this. These techniques help us create many different combinations of molecules. In Python, we use libraries like RDKit or Open Babel to help us with this process. These libraries help us mix the molecules together in different ways, like changing the main structure of the molecule, adding new functional groups, or decorating the molecule’s structure. This helps us create a variety of new compounds that could potentially become medicines.
def merge_fragments(fragments):
merged_molecules = []
for combination in itertools.combinations(fragments, 2):
merged = Chem.CombineMols(combination)
merged_molecules.append(merged)
return merged_moleculesmerged_molecules = merge_fragments(selected_fragments)
Conclusion:
Fraction-Based Drug Design (FBDD) is a methodical way of finding new medicines by using small pieces of molecules. By going through steps like picking the best pieces, checking how they stick to the target, making them bigger, combining them together and merging them, FBDD helps us explore different chemical options efficiently. This helps us find new lead compounds that could work better as medicines. Python, with its helpful libraries and tools, plays a big part in every step of the FBDD process. It helps researchers speed up the search for new drugs and find solutions to medical problems that haven’t been solved yet.
In summary, combining computer methods with fragment-based approaches holds a lot of promise for making drug discovery faster. This could lead to creating safer and more effective treatments for many different diseases in the future.
Reference :
1. Parker CG, Galmozzi A, Wang Y, Correia BE, Sasaki K, Joslyn CM, Kim AS, Cavallaro CL, Lawrence RM, Johnson SR, Narvaiza I, Saez E, Cravatt BF. Ligand and Target Discovery by Fragment-Based Screening in Human Cells. Cell. 2017 Jan 26;168(3):527-541.e29. doi: 10.1016/j.cell.2016.12.029. Epub 2017 Jan 19.
2. Cohen SM. A Bioinorganic Approach to Fragment-Based Drug Discovery Targeting Metalloenzymes. Acc Chem Res. 2017 Aug 15;50(8):2007-2016. doi: 10.1021/acs.accounts.7b00242. Epub 2017 Jul 17.
3. Bissaro M, Sturlese M, Moro S. The rise of molecular simulations in fragment-based drug design (FBDD): an overview. Drug Discov Today. 2020 Sep;25(9):1693-1701. doi: 10.1016/j.drudis.2020.06.023. Epub 2020 Jun 25.
4. Kashyap A, Singh PK, Silakari O. Counting on Fragment Based Drug Design Approach for Drug Discovery. Curr Top Med Chem. 2018;18(27):2284-2293. doi: 10.2174/1568026619666181130134250.
5. Price AJ, Howard S, Cons BD. Fragment-based drug discovery and its application to challenging drug targets. Essays Biochem. 2017 Nov 8;61(5):475-484. doi: 10.1042/EBC20170029.
6. Jhoti H. Fragment-based drug discovery using rational design. Ernst Schering Found Symp Proc. 2007;(3):169-85. doi: 10.1007/2789_2007_064.
7. Osborne J, Panova S, Rapti M, Urushima T, Jhoti H. Fragments: where are we now? Biochem Soc Trans. 2020 Feb 28;48(1):271-280. doi: 10.1042/BST20190694.
8. Hoffer L, Renaud JP, Horvath D. Fragment-based drug design: computational & experimental state of the art. Comb Chem High Throughput Screen. 2011 Jul;14(6):500-20. doi: 10.2174/138620711795767884.
9. Eitner K, Koch U. From fragment screening to potent binders: strategies for fragment-to-lead evolution. Mini Rev Med Chem. 2009 Jul;9(8):956-61. doi: 10.2174/138955709788681645.
10. López-Vallejo F, Caulfield T, Martínez-Mayorga K, Giulianotti MA, Nefzi A, Houghten RA, Medina-Franco JL. Integrating virtual screening and combinatorial chemistry for accelerated drug discovery. Comb Chem High Throughput Screen. 2011 Jul;14(6):475-87. doi: 10.2174/138620711795767866.