
Either GROW or LINK needs a seed structure as the starting point for building up ligand molecules. For this version of LigBuilder, we do not provide a program to generate the seed structure automatically although in technique it is possible. According to our own experience on drug design and discovery, the expertise and the creativity of the researcher is most important. So we deliberately avoid providing an automatic procedure to generate the seed structure in order not to mislead the user to believe that computer-aided drug design is simply running a program and then waiting for the results. By letting the user choose the seed structure, it introduces much flexibility into the application of LigBuilder.
Choosing a proper seed structure is very important because all the resultant molecules are the derivatives of the seed structure. Therefore, it will be ideal if the seed structure holds the key feature of the prospective ligands. For example, it may form significant interactions with the target protein; or it is a proper spatial framework; or it is a good starting point for organic synthesis. There could be so many smart ways to choose one seed structure. For example, you may start form a relevant crystalline complex structure. There must be some chemical groups on the ligand which exhibit important interactions with the protein. You can extract them as the seed structure. Or if you have got a lead compound anyway, you can tailor it and then dock it into the binding pocket as the seed structure. Or you can dock some small groups, such as ammonia, formaldehyde, benzene, and etc., into the binding pocket as the seed structure. The seed structure could be as large as a "common" molecule or, in principle, as small as just one heavy atom, such as methane.
The seed structure is presented in a Mol2 file. Please notice that all the valences on the seed structure must be fulfilled. Hydrogen atoms should be added. You are assumed to label "growing sites" on the seed structure by simply change the atom type of the corresponding hydrogen atoms from "H" to "H.spc". You can do this in the Sybyl graphics interface or edit the Mol2 file manually. The program will take all the special hydrogen atoms, i.e. "H.spc", on the seed structure as growing sites. Fragments will be added to these growing sites to generate new molecules.
The seed structure for running GROW is assumed to contain only one piece of chemical fragment. So it is relatively simple to prepare. However, the seed structure for running LINK often contains several pieces of chemical fragments. So please be careful: place each fragment in a "reasonable" way and leave enough space between them. Labeling growing sites on each fragment will increase the chance of successful linking.
Please make sure that the seed structure is positioned at the right place inside the binding pocket. LigBuilder will not perform either docking or optimization on the seed structure.
These concepts may confuse you especially when you are using LigBuilder for the first time. You are suggested to study the sample seed structures included in the directory "example".
In recent years, some empirical rules for evaluating the "drug-likeness" of a compound have been proposed. Maybe the most popular approach is the so-called Lipinski rules (Adv. Drug. Delivery. Rev. 1997, 23, 3-25). According to the Lipinski rules, poor absorption or permeation are more likely when:
Thus if a molecule violates the above rules, it is not likely to be a successful lead compound. In LigBuilder, we have set similar parameters to control the chemical viability of the generated molecules. You are encouraged to edit these chemical rules to meet your own purpose. The following key words will appear in the parameter file for GROW or LINK.
"APPLY_CHEMICAL_RULES": apply chemical viability rules or not. It could be "YES" or "NO". If it is switched on, only molecules which meet all the following criteria will be collected into LIGAND_COLLECTION_FILE. A molecule violates any of these rules will be rejected. "YES" is highly recommended.
"MAXIMAL_MOLECULAR_WEIGHT": maximal molecular weight.
"MINIMAL_MOLECULAR_WEIGHT": minimal molecular weight.
"MAXIMAL_LOGP": maximal LogP value.
"MINIMAL_LOGP": minimal LogP value.
LigBuilder calculates LogP values using the XLOGP v2.0 algorithm. For more detailed description of this algorithm, please refer to: Wang, R.; Gao, Y.; Lai, L. "Calculating partition coefficient by atom-additive method", Perspectives in Drug Design and Discovery, 2000, 19, 47-66.
"MAXIMAL_HB_DONOR_ATOM": maximal number of H-bond donor atoms. Here, a donor atom refers to any nitrogen or oxygen atom with at least one hydrogen atom attached, i.e. -OHs or -NHs.
"MINIMAL_HB_DONOR_ATOM": minimal number of H-bond donor atoms.
"MAXIMAL_HB_ACCEPTOR_ATOM": maximal number of H-bond acceptor atoms. Here an acceptor atom refers to any nitrogen or oxygen atom with at least one lone pair.
"MINIMAL_HB_ACCEPTOR_ATOM": minimal number of H-bond acceptor atoms.
"MAXIMAL_PKD": maximal binding affinity to the target protein. It is presented in pKd unit.
"MINIMAL_PKD": minimal binding affinity to the target protein.
LigBuilder estimates binding affinities using the SCORE v2.0 algorithm. For more detailed description of this algorithm, please refer to: Wang, R.; Liu, L.; Lai, L.; Tang, Y. "SCORE: A new empirical method for estimating the binding affinity of a protein-ligand complex", J.Mol.Model., 1998, 4, 379-394.
To be frank, a "proper" set of these chemical rules will depend on the project you are working on. But a "general" set could be like this: molecular weight: 300~600; LogP: 2.00~5.00; Donors: 2~5; Acceptors: 2~5; predicted pKd: 5~9.
As mentioned in the Introduction section, LigBuilder uses molecular fragments as building-blocks to build ligands. The default building-block fragment library employed by LigBuilder is stored in the directory "fragment.mdb". This library contains nearly 60 fragments, including most of the common chemical groups and ring frameworks observed in organic compounds. Each fragment is presented in a Mol2 file. All the fragments have been pre-minimized.
There is a file named as "INDEX" in that directory listing the contents of the building block library. You can edit this file to determine which fragment will be used in the ligand construction and which will not. The format of "INDEX" is like this:
1 frag_01.mol2 1.00
methane
2
frag_02.mol2 0.50 ethane
3
frag_03.mol2 0.00 propane
......
Here each line describes one fragment. The first column is the ID of the fragment. Each fragment must has its unique ID number. The second column is the name of the corresponding Mol2 file. The third column is the "acceptability" of the fragment. The last column is the name of the fragment.
The funny part is the "acceptability". This value should be between 0 and 1. If it is set to 1.00, the fragment is fully accepted for the ligand construction; if it is set to 0.00, the fragment is fully rejected. So what if the value is between 0 and 1? In fact, every time when LigBuilder tries to extract a certain fragment, the program will generate a random number between 0 and 1 and compare this number with the acceptability of that fragment. If the random number is smaller than the acceptability, the fragment will be extracted. Otherwise, it will be rejected. Thus you can control the occurrence of a certain fragment in the generated molecules simply by modifying its acceptability.
Although the default building-block library contains various fragments, according to our own experience, in most cases you do not need all of them. In another word, please use only necessary fragments to build your molecules. This will save computational time and make the resultant molecules less "fancy". You can let the program to neglect the unwanted fragments by setting their acceptabilities to 0 in the INDEX file. We strongly recommend you to do this before running GROW or LINK.
Of course you are not limited in using the default building-block library. You can also add new fragments to the library. What you need to do is: (i) build the fragment and save it in a Mol2 file; (ii) copy the file into the directory "fragment.mdb"; (iii) add a new line in file "INDEX" to define the fragment. A more ambitious attempt is to build your own fragment library. This might be helpful when you try to design a special combinatorial library. In this case, what you need to do is simply assembling all your fragments into a directory and create the "INDEX" file under that directory.
While building your own fragment, please notice that the fragment must be presented as a complete molecule: all valences should be filled and hydrogen atoms should be added. The geometry of the fragment should be minimized because LigBuilder will not do this. It will be ideal if the fragment is rigid. If you have to include rotatable single bonds in the fragment, please provide the "typical" conformation of that fragment. But if you like, you can also save several conformations of the same fragment in different Mol2 files and label them as different fragments.
Do not forget to set at least one growing site on the fragment. You can do it by changing the atom type of the corresponding hydrogen atom from "H" to "H.spc". The simplest way is to set all the hydrogen atoms on the fragment as growing sites. You can also choose to assign only some of the hydrogen atoms as growing sites. By doing so, your can add your expertise of organic synthesis to the ligand construction.
Another special note should be addressed here. Actually each fragment in the building-block library is treated not as a "specific" fragment but rather a template. While building the ligand molecules, LigBuilder will perform mutations on the structure whenever it is necessary to improve the binding affinity. Carbon, nitrogen and oxygen atoms with the same hybridization state are allowed to mutate to each other. For example, the "benzene" in the library actually represents benzene itself and other hetero-substituted six-membered aromatic rings. This strategy frees the user from employing numerous fragments to represent chemical structures.

Each fragment in the building-block library is actually a template
We will highly appreciate it if you have developed your own building-block fragment library and are willing to share it with other LigBuilder users. Please send us a copy of your library and we will add it to the LigBuilder package and distribute it to the public.
While building up the molecules, LigBuilder has some built-in rules to avoid "bad structures", such as -O-O-, -N-O-, -N-N-, and etc. But this may not be enough for generating reasonable lead compounds. Therefore, LigBuilder could also use a built-out, user-maintainable fragment library as a supplement. We call it "forbidden substructure library". While building up the ligand molecules, the program will check each molecule to judge whether it contains any substructure defined in the forbidden substructure library. If so, this molecule will be rejected.
The parameter "APPLY_FORBIDDEN_STRUCTURE_CHECK" in the parameter file (for GROW and LINK) determines whether to apply such checking. It could be "YES" or "NO".
LigBuilder has provided a default forbidden substructure library. This library is stored at directory "forbidden.mdb". Each substructure is presented in a Mol2 file. There is also a file named "INDEX" under that directory which lists the contents of the library. The format of the index file is just the same as the one for "fragment.mdb". You can edit that file to determine which substructure will be used in forbidden substructure checking and which will not. Please notice that if the acceptability of a certain structure is set to 1.00, it means that this structure will be used in checking and thus is fully forbidden in the resultant molecules. On the contrary, if the acceptability is set to 0.00, it means that the structure will not be used in checking and thus could exist in the generated molecules. Here we do not recommend you to set an acceptability between 0 and 1 because it is rather weird (what does it mean if you do so?).
You will find that the default forbidden substructure library contains only a dozen of structures because we believe it should be left open to you (you may have much more brilliant ideas than we do). You are encouraged to add new forbidden substructures to the library. To do so, firstly you should build the structure and save it in a Mol2 file. Then please copy it to the directory storing the library and add a line in the "INDEX" file to define this new structure. This process is the same as the one for adding a fragment to the building-block fragment library. Of course this time you do not have to assign growing sites on your molecules.
We will highly appreciate it if you have developed your own forbidden substructure library and are willing to share it with other LigBuilder users. Please send us a copy of your library and we will add it to the LigBuilder package and distribute it to the public.
One of the on-going projects in our lab is studying the structure-toxicity relationship of the organic compounds. We have analyzed the Registry of Toxic Effects of Chemical Substances (RTECS, C2 96-4) database and derived nearly 80 chemical structures which tend to be toxic. For more detailed description of this work, please refer to: Wang, J.; Lai, L.; Tang, Y. "Structural features of toxic chemical for specific toxicity", J.Chem.Inf.Comput.Sci., 1999, 39, 1173-1189.
These structures has been summarized as the "toxic substructure library". It is saved in the directory "toxicity.mdb". The parameter "APPLY_TOXIC_STRUCTURE_CHECK" in the parameter file (for GROW and LINK) determines whether to apply toxic substructure checking. It could be "YES" or "NO". If it is switched on, those molecules containing any toxic substructures will not be collected in the resultant virtual library.
Of course you are also free to edit this library. Each structure is presented in a Mol2 file. There is also a file named "INDEX" under that directory which lists the contents of the library. The format of the index file is just the same as the one for "fragment.mdb" or "forbidden.mdb". You can edit that file to determine which structure will be used in toxic substructure checking and which will not. Please notice that if the acceptability of a certain structure is set to 1.00, it means that this structure will be used in checking and thus is fully forbidden in the resultant molecules. On the contrary, if the acceptability is set to 0.00, it means that the structure is not used in checking and thus could exist in the resultant molecules. Here we do not recommend you to set an acceptability between 0 and 1.
You can also add new structures to this library. To do so, firstly you should build the structure and save it in a Mol2 file. Then please copy it to the directory storing the library and add a line in the "INDEX" file to define this new structure. In fact, you are not restricted in considering only toxicity. Other properties which are important for lead discovery, such as chemical stability, can also been counted. You just add anything that you think is not proper for a potential lead compound to this library.
We will highly appreciate it if you have developed your own library and are willing to share it with other LigBuilder users. Please send us a copy of your fragment library and we will add it to the LigBuilder package and distribute it to the public.
After GROW or LINK has done the job, the program will save the final population in a file specified by the keyword "POPULATION_RECORD_FILE" in the parameter file. This file is in LigBuilder LIG format. If you want to resume your former job, you can simply set that file as "SEED_LIGAND_FILE" for a new job. The program will understand this and resume the GA procedure directly on the population saved in that file. This strategy may be useful when you want to or have to do the job step by step.
[Content] [Introduction] [Download] [Install] [Overview] [POCKET] [GROW] [LINK] [PROCESS] [Skills] [FAQs]
(These web pages are edited by Dr. Renxiao Wang. Latest update: August, 2000)