Homology modeling is a very common computational approach for representing the 3D structures of proteins when there is limitation in using experimental methods such as x-ray crystallography, NMR (nuclear magnetic resonance) or atomic force microscopy (
1,
2). An application of comparative modeling is in microbial cell factories to solve problems on protein production (
3). Other applications of homology modeling include designing site directed mutagenesis and studies related to protein-protein interaction (
4). Furthermore, obtaining the 3D structure of the target protein is a vital step in structure based computational studies such as docking and molecular dynamic simulations (
5). Different softwares have been developed by the time being to predict the 3D structures of proteins. MODWEB, IMPALA, PSI-BLAST, MODLOOP and MODELLER are some instances of the applications designed for comparative modeling studies (
6,
7).
Among the described applications, Modeller showed to be a successful package with different modules and abilities such as clustal, model building, loop refinement and energy calculation (
8-
10). Since Modeller is using python scripts for using the fortran libraries, it is performable on most platforms including windows, linux and Mac. However, a great deal with Modeller is that it is command based and no graphical interface is provided in the package. Therefore, the users need to be familiar with python scripting and the syntax of each command must be studied prior to generation of the proper python scripts (
11). On the other hand python scripting is sensitive to some modifications such as indentations and the users must take special care in editing the python scripts (
12). To cope with this problem many users developed different interfaces some of which are commercial or need other requirements such as Pymol or .Net framework for performance (
11,
13-
17). In an attempt to design a comprehensive toolbox with fewer requirements and more capabilities, an easy to use interface was prepared for windows by means of batch scripting. One advantage of this interface with respect to similar applications is that it does not need any requirements or libraries for performance. Furthermore, Modelface is working on both 32 and 64 bit systems and showed to be compatible on all windows platforms (Xp, vista, 7 and 8). Meanwhile, its ability to make single point mutations in PDB structures makes it suitable for many molecular modeling studies in the field of drug design and molecular modeling.
All experiments were performed on a laptop running on windows 8. Windows notepad was used for writing the batch scripts using the standard CMD syntax for each command. Each module of the application was written separately in order to make debugging procedure more facile. A series of batch scripts were developed in the first section of the interface in order to check out Modeller executables. As displayed in
Figure 1. this part is interfering with windows REGEDIT to make permanent registry query values in the operating system. The possibility for removing all added query values from the registry was implemented in Modelface in order to permit the users to update their Modeller versions or remove the API parameters. A job menu task was subsequently designed to perform the mostly used tasks of Modeller software. The correct formats of python scripts for different jobs including alignment, model building, loop refinement, helix generation, energy calculation and repairing missing atom types were thereafter implemented in the application. Optional parameters such as the ability to include or merge hydrogens, disulfide bridge, performing post molecular dynamics refinement are suggested to the user at each step. Different CMD loops were designed for reading pdb files and converting them into FASTA. This algorithm was based on the presence of Cα atoms in all residues. For this purpose, all PDB lines starting with Cα are being detected and the three letter codes corresponding to the residues are translated to one letter codes. The next piece of code makes it possible to consider all pdb files in the alignment file. Modelface was designed so that Model.py would be generated in another module of Modelface and the best models based on energy values are presented to the user. Some CMD commands such as findstr was used for reading key words in the resulted log files of Modeller(
18). About 600 code lines were managed in this application. The guides for each step are displayed at each step to the user. To solve the problem of the files path, Modelface executable should be performed in the folder with templates and sequence. Modelface is therefore able to communicate with Modeller at any folders. The resulted batch script was finally compiled as a standalone executable (.exe) application by means of a bat to exe converter v1.6 (
19). The final application was tested on other platforms including windows Xp, vista and 7.
Modelface is freely available for non-commercial use. It can be easily retrieved from http://salilab.org/modeller/wiki/Links.