IVSPlat 1.0: an integrated virtual screening platform with a molecular graphical interface

Background The virtual screening (VS) of lead compounds using molecular docking and pharmacophore detection is now an important tool in drug discovery. VS tasks typically require a combination of several software tools and a molecular graphics system. Thus, the integration of all the requisite tools in a single operating environment could reduce the complexity of running VS experiments. However, only a few freely available integrated software platforms have been developed. Results A free open-source platform, IVSPlat 1.0, was developed in this study for the management and automation of VS tasks. We integrated several VS-related programs into a molecular graphics system to provide a comprehensive platform for the solution of VS tasks based on molecular docking, pharmacophore detection, and a combination of both methods. This tool can be used to visualize intermediate and final results of the VS execution, while also providing a clustering tool for the analysis of VS results. A case study was conducted to demonstrate the applicability of this platform. Conclusions IVSPlat 1.0 provides a plug-in-based solution for the management, automation, and visualization of VS tasks. IVSPlat 1.0 is an open framework that allows the integration of extra software to extend its functionality and modified versions can be freely distributed. The open source code and documentation are available at http://kyc.nenu.edu.cn/IVSPlat/.


Background
The successful application of virtual screening in drug discovery means that medicinal chemists and pharmacologists are increasingly using this tool in drug discovery research [1]. Two general strategies are employed in virtual screening: (1) structure-based virtual screening (SBVS) methods for screening compound libraries where the three-dimensional (3D) structures of targets are available; and (2) ligand-based virtual screening (LBVS) methods for identifying potential hits in compound libraries, typically where 3D target structures are unknown [2]. SBVS is dependent on knowledge of the 3D structure of the target. The docking of a compound collection is tested with the target structure and a quantified interaction score is used to identify candidate lead compounds. Thus, SBVS is not dependent on the existence of known active compounds, which increases the prospects for identifying new active lead compounds [3]. Several docking programs have been developed for virtual screening since the initial development of UCSF Dock [4,5], such as AutoDock [6], GOLD [7], and GLIDE [8,9]. There have been reports of the successful identification of lead compounds using docking-based VS methods [10]. LBVS assumes that structurally similar compounds are likely to exhibit similar biological activities. LBVS makes use of the physicochemical, structural, and energetic properties of known active compounds when searching large compound libraries for related or novel chemical compounds [11]. The pharmacophore-based database searching technique is a widely used VS strategy [12], which relies on knowledge of the biological activity of multiple hits when identifying key features during a search. A pharmacophore is a spatial arrangement of features that allows a compound to interact with a target receptor at a specific binding mode.
Thus, a pharmacophore can serve as a powerful model with versatile applications in rational drug design, such as virtual screening, de novo design, lead optimization, and ADME/Tox studies. Several algorithms and software tools have been developed for pharmacophore detection [13][14][15][16][17][18][19]. In practice, SBVS and LBVS can be used in combination or separately, depending on the specific aim. However, very few open-source platforms have integrated both approaches for virtual screening [20].
In this study, we developed an integrated virtual screening platform, IVSPlat 1.0, which is an easily operated PyMOL [21] plug-in that performs many practical virtual screening tasks derived from UCSF Dock 6.5 [22] and PharmaGist [18], while also providing the facility to analyze results. Molecular visualization can be used to highlight connectivity and important structural features in interacting molecules, which is crucial for drug design. IVSPlat 1.0 was developed to exploit PyMOL's exceptional molecular viewing capabilities, which are seamlessly integrated with other programs. Thus, IVSPlat 1.0 facilitates molecular docking and pharmacophore studies, which can be visualized in a PyMOL window. Furthermore, IVSPlat 1.0 is an open source framework, thereby allowing developers to add other new open source computational applications using a uniform graphical user interface (GUI). IVSPlat 1.0 was written in Python and its installation instructions and video demonstrations can be found on the IVSPlat website.

Related technologies
IVSPlat 1.0 integrates the programs detailed in the following sections and it also provides a uniform interface for accessing these programs, which facilitates transparency for the user. Auxiliary software can also be incorporate provided that they are preinstalled, such as Openbabel [23], DMS [24], Sphgen [6], and MPICH2 [25].

PyMol
PyMol is one of the most popular molecular visualization programs. The core of the program is a full-featured Python [26] interpreter, which is extended by an OpenGL 3D display, a Tcl/Tk based GUI, and a PyMol API that facilitates plug-in creation. Several popular plug-in extensions have been developed in the field of molecular interactions. The APBS plug-in [27] provides an interface for the popular adaptive Poisson-Boltzmann solver (APBS) program, thereby giving easy access to electrostatics calculations, and visualization of potential energy surfaces and charge densities on protein surfaces. PyDeT [28] is a PyMOL plug-in for visualizing tessellations derived from the protein structure and the source protein. PyETV [29] is a PyMOL plug-in used for viewing, analyzing, and manipulating the prediction of evolutionarily important residues and sites in protein structures and their complexes. The Autodock/Vina plug-in [30] provides an interface between PyMOL and two popular docking programs, Autodock and Autodock Vina [31], thereby facilitating molecular docking, virtual screening, and binding site analysis via PyMOL. UCSF Dock 6.5 UCSF Dock is one of the most frequently used molecular docking applications in VS studies [2]. The latest version of UCSF Dock is version 6.5 (UCSF Dock 6.5).
The following new features have been added to UCSF Dock 6.5: 1) an anchor can be selected by specifying an atom in a fragment and the number of anchors used can be limited during multi-anchor docking; 2) the new scoring function (descriptor score) has been introduced, which includes a hydrogen bond term and footprint similarity scoring; and 3) PB/SA score has been generalized to some extent and efficiency improvements have been included that make docking, rather than rescoring, more tractable for nontrivial systems [22]. However, no GUI tool is currently available for automating VS tasks using UCSF Docks.

PharmaGist
IVSPlat 1.0 uses the freely available program Pharma-Gist [18] for LBVS. PharmaGist is a virtual screening method that is based on pharmacophore detection. Its workflow is as follows: 1) specify a set of active compounds; 2) generate candidate pharmacophores that are solved using an algorithm via multiple flexible alignment of the active compounds; and 3) perform pharmacophore-based virtual screening. PharmaGist is highly efficient and a typical run of up to 32 active compounds takes from seconds to a few minutes using a standard PC [18].

PaDEL-Descriptor
PaDEL [32] is an open source program that can calculate 801 descriptors (667 1D/2D descriptors and 134 3D descriptors) and 10 types of fingerprints. The descriptors and fingerprints are calculated using the Chemistry Development Kit [33] with additional descriptors and fingerprints. These additions include atom type electrotopological state descriptors, McGowan volume, molecular linear free energy relation descriptors, ring counts, counts of chemical substructures identified by Laggner, binary fingerprints, and counts of chemical substructures identified by Klekota and Roth. PubChem fingerprints options were used to produce molecular descriptors in our platform.

Hcluster
Hcluster [34] is a hierarchical clustering library developed in the Python language with the Scipy package [35]. This library provides Python functions for agglomerative clustering, including the generation of hierarchical clusters from distance matrices, computation of distance matrices from observation vectors, calculation of cluster statistics, linkage cutting to generate flat clusters, and cluster visualization with dendrograms. Hcluster also provides algorithms for clustering, including, linkage, single, complete, average, median, and Ward's method. Ward's method is the most adaptive for molecular clustering [36], so it was used as the default in our platform. However, users can still select their own preferred method. Hcluster outputs a dendrogram to illustrate the cluster results.
Architecture of IVSPlat 1.0 Figure 1 shows that the architecture of the platform consists of three layers: application layer, class interface layer, and software entity layer. The class interface layer includes a class library written in Python that constitutes the core of the platform. Several software programs are integrated with the molecular graphics system in the software entity layer, while various virtual screening services are provided in the application layer. Python is an interactive, object-oriented, extensible programming language with strong support for integration with other languages, so it was selected as the main programming tool to produce a uniform software environment for the simultaneous application of various scientific programs. The class library in the class interface layer has four components: GUI class, software interface class, results analysis class, and format reading class. The software interface class is the core, which consists of the Threa-d_run and IVSPlat classes. IVSPlat class is the main class for calling other classes in all the methods used in the application layer, including the thread distribution, conversion of file formats between the integrated programs, database operation, and the analysis of the VS results. The application layer is composed of a GUI and three functional modules. The GUI provides functions for visualizing the binding geometries and interactions between ligands (compounds) and receptors using PyMOL, while the three functional modules allow docking-based VS, pharmacophore-based VS, and VS results analysis. The platform is launched by running PyMOL and it allows the user to specify the runtime parameters. The main platform screen is shown in Figure 2(a), which includes nine functional items: configuration, grid, receptor, ligand, docking, analysis, pharmacophore, cluster, and database management.

Molecular docking-based virtual screening
A molecular docking-based virtual screening task can be conducted starting with a target protein and a large,

Running environment configuration
This module defines the location and the environment variables required for the execution of each program. To facilitate system maintenance and reconfiguration, all the correctly configured options can be saved to a text file, which can be manually modified as required.

Receptor and ligand preparation
Receptor preparation in UCSF Dock 6.5 includes a series of tasks, including, adding hydrogen atoms and charges, protonating amines, deleting solvent molecules [37], and localizing the receptor binding sites. These tasks are frequently accomplished by manual operation and inspection. In particular, the localization of binding site(s) is composed of three related operations: 1) generating the molecular surface of the receptor using the DMS program; 2) generating spheres surrounding the receptor using the Sphgen program; and 3) selecting a subset of spheres to represent the binding site(s) using the Spher-e_selector program. In IVSPlat 1.0, the receptor functional module provides a workbench with an interactive GUI that automates the process of binding site preparation. Users are not required to consider the inputs and outputs of all the intermediate processes. The resulting binding site(s) can also be visualized and analyzed in a PyMOL window (Figure 2(b)).
During the preparation of ligands (compounds), UCSF Dock 6.5 and PharmaGist have to add charges and hydrogen atoms to ligands in a MOL2 format. It is recommended that all ligand structures used in VS experiments are obtained from the ZINC database [38]. ZINC is the most popular free database for virtual screening and it contains compounds that are commercially available. Moreover, the charges and hydrogen atoms have already been added to each compound in the ZINC compound database. Therefore, our platform does not require a functionality for adding charges and hydrogen atoms. All compounds can be inspected and selected via the PyMOL window in the ligand functional module, before a compound database for virtual screening is set up (Figure 2(c)). This module also converts other formats to MOL2 during ligand preparation by calling the Openbabel program.
Grid generation UCSF Dock 6.5 requires a rectangular box to generate a grid file and the grid functional module provides a graphical environment for defining the centre of the box, adjusting the box size and position, and generating the final box file. PyMOL defined the box centre by selecting explicit coordinates or by specifying a PyMOL selection (e.g., a reference ligand) to calculate the mean coordinates of the atoms. The docking box can be displayed in the PyMOL window while the size and the exact position of the box can be adjusted depending on the user's requirements (Figure 2(d)).

Docking
Depending on a user's computer configuration, UCSF Dock 6.5 can be installed in several different running modes, including, GNU, GNU parallel, and GNU parallel pbsa [22]. UCSF Dock 6.5 also has a wealth of parameters for tailoring a particular VS service, including a choice of multiple scoring functions. UCSF Dock 6.5 typically runs from the command line in a standard Unix shell and it reads an input parameter file containing all the field/value options. We created a standard input file known as dock. in and a control panel is provided so users can conveniently adjust the running parameters in a file (Figure 2(e)). During docking experiments, the grid box size must be set high enough to allow all poses of the ligands to lie within the box, although excessively large grid boxes will waste computational resources. Thus, we placed an option in the control panel to facilitate trial and error, i.e., max_orientations. The primary score parameter option in the control panel helps users to select an appropriate scoring function. Furthermore, the parallel version of UCSF Dock 6.5 with a PB/SA scoring function can be employed if users install the OpenEye Toolkits [39], which are freely available to most academic and government institutions.

Analysis of results
A series of output files are created after the docking task is complete, including an anchor_and_grow_ranked.mol2 file containing the top scored ligands sorted using a score function value. Users can list all the data in the anchor_-and_grow_ranked.mol2 file as a table in the analysis functional module, followed by loading the data in a Pymol window to visualize and inspect ligand poses. In general, the number of hits in a virtual screening task far exceeds the number of compounds that can be biologically tested, so a molecular clustering procedure is required to reduce the number of hits to a subset of compounds that best represents the overall result set. In IVS-Plat 1.0, the Hcluster Python library and the PaDEL-Descriptor program are used to produce a molecular clustering module. The PaDEL-Descriptor program is used to calculate the molecular descriptors and fingerprints, while the Hcluster library is used to perform clustering tasks based on the descriptors and fingerprints. The clustering results are displayed in a hierarchical dendrogram (Figure 2(g)), which can be saved as a text file.
Pharmacophore-based virtual screening IVSPlat 1.0 provides a pharmacophore-based virtual screening module via PharmaGist. The module is simple and easy to use, and users are only required to upload a ligand file and a compound database file as input, before setting an optional running parameter, such as the scoring weight of each feature. The module has two main components: generating pharmacophores and screening the compound database with the resulting pharmacophore. The method is similar to that used in molecular docking-based virtual screening. The pharmacophores can be loaded and analyzed in a PyMOL window before selecting the appropriate public pharmacophore ( Figure  2(f)). An output such as *mol2_dbres.html (* means any string) is created after the VS task is complete, which contains each output compound's score and structure information. The screening results can be summarized as a table in score order and these data can be visualized in a PyMOL window (Figure 2(f)).

Combined virtual screening
Different VS approaches are characterized by their screening strategies, i.e., SBVS or LBVS, which can be used independently or in combination. Combined virtual screening is regarded as a novel VS protocol that efficiently increases hit rates during virtual screening, while reducing the computational costs [40][41][42]. IVSPlat 1.0 provides an environment for combined virtual screening using pharmacophore-based VS and molecular dockingbased VS. Pharmacophore-based VS can be used as prefilter during the virtual screening of a huge database, before performing molecular docking-based VS only with the top results obtained during the first step [40]. Pharmacophore-based VS and molecular docking-based VS can also be used in parallel to improve the enrichment factor (EF). An example is presented in the next section to demonstrate the applicability of this platform.

Database management
All the input and output files used in the current version of the IVSPlat platform are text files, including the compound database files (*.mol2). A suite of text access methods were developed to overcome compatibility issues in input/output files of the integrated software tools. A Python interface to SQLite (a lightweight SQL database) was developed, which is mainly used by IVS-Plat 1.0 for the data management of VS output results (Figure 2(h)). This provides a base for further extension.

Experimental dataset
The experimental dataset was taken from the DUD database [43,44], which was designed for testing docking algorithms by providing challenging decoys. DUD contains 2950 active compounds with 40 targets. We used thrombin (PDB id: 1H8D, H chain) as the target protein in our experiments. Thrombin is a trypsin-like serine protease with a central role in thrombosis and haemostasis and its inhibitors are potentially pharmacologically important antithrombotics [45]. The X-ray crystal structures of thrombin are known and structures of many small molecule inhibitors complexed with thrombin have been identified [43][44][45]. We also used 72 compounds that are active against thrombin and we randomly selected 1000 compounds as decoys. We tested the applicability of the platform by conducting virtual screening of thrombin inhibitors using several screening strategies.

Screening for thrombin inhibitors using molecular docking-based VS
The target protein (thrombin, PDB id: 1H8D) was prepared using UCSF Chimera [38] by the following two steps: 1) remove L chain, I chain (inhibitor), and water molecules from the crystal structure of thrombin; and 2) add all hydrogen atoms and all the Gasteiger atom charges. The residues within 10.0 Å of the bound ligand were defined as the active site. To reduce the collision probability, the parameter min_anchor_size was set to 5. The pruning_conformer_score_cutoff was set at 100, the max_orientations was set at 1000, the maximum number of orientations to be scored was set at 1000, and the grid box size was set at 10. We treated all compounds as flexible using DOCK's anchor-and-grow algorithm while the grid energy scoring method was used to evaluate compounds. UCSF Dock 6.5 in parallel mode was used for the screening task (using a Dell precision T7400 workstation with two processors: Intel Xeon E5430 quad core). The total running time was c. 2 h. The results were analyzed in terms of EF. EF is a common metric used for comparing virtual screening results, which is defined as follows: where N total is the number of compounds in the database, HITS total is the total number of known active compounds, N sampled is the number of top compounds to be sampled, and HITS sampled is the number of known active compounds found in the N sampled compounds.
Molecular docking-based VS provided good performance in the experiments. Figure 3 shows that the maximum EF was 14 with the top 1% of the database (Figure 3(a)), while the frequency of thrombin-active compounds in the top 1% of the total library was c. 15% (Figure 3(b)). The frequency of active compounds that were screened gradually increased as we increased the percentage of the database that was sampled. In contrast, the EFs gradually decreased and c. 90% of the active compounds was successfully screened from the top 50% of the database (Figure 3(b)).

Screening thrombin inhibitors using pharmacophorebased VS
The current version of PharmaGist can only handle up to 32 compounds when generating pharmacophores, so we separated the 72 compounds into eight equal groups with nine compounds in each. We used the nine compounds in each group as seeds for constructing eight test datasets, by taking extra random samples from the other groups. Thus, eight test datasets were constructed and each dataset was again divided randomly into four small groups that contained 32, 16, 8, and 4 compounds respectively. The running parameters of PharmaGist were set as follows: the number of output pharmacophores was set at 2; the number of output results was set at 1000; while other parameters were set at the default values. The results for the first and fourth dataset are shown in Figure 4. Figure 4(a-1) shows that the 32-compound group used for generating pharmacophores performed better than the other cases. Its maximum enrichment factor was 12.5 with the top 1% from the database and it retrieved c. 90% of active compounds from the top 50% in the database (Figure 4(a-2)). The enrichment factor and the percentage of active compounds found in the experiments declined steadily as the number of compounds used for generating pharmacophores was decreased. The first dataset was the worst case in our experiments and Figure 4(b-1) and Figure 4(b-2) show that the maximum enrichment factor was 4.2 with the top 1% from the database (Figure 4(b-1)) while 47% of the active compounds were retrieved from the top 50% in the database (Figure 4(b-2)). The results with other datasets are shown in Supplementary Figure S1 (see Additional file 1). These data indicated that the performance of the pharmacophore-based VS generally tended to be influenced by the compounds used to generate the pharmacophores. Thus, the quality and number of the compounds selected were key factors in the pharmacophore-based VS.

Combination of the two VS protocols
Pharmacophore-based VS is suitable when a set of known active compounds is available. The strength of the pharmacophore-based VS is its high speed.
However, docking-based VS is more appropriate when the structure of a protein target is known. Compared with pharmacophore-based VS, docking-based VS is more suitable for searching for active compounds with novel scaffolds, although its running speed is generally slow. A combination of both VS protocols may provide a superior alternative to the single VS protocol when  the structure of the target protein and a set of known active compounds are available. Table 1 shows the results obtained with a combination of both protocols with the fourth dataset. Figure 5 shows that 65 active compounds were successfully screened using pharmacophore-and docking-based VS. We found that 58 compounds were screened with combination of both, whereas 14 of the 72 active compounds were screened when using only one of the two protocols. Screening results for the remaining seven datasets are shown in Supplementary Tables S1-S7 and Figures S2-S8 (see Additional file 1). In summary, pharmacophore-and docking-based VS identified some common active compounds, but they also identified different individual active compounds, indicating the complementary effects of each method. Thus, a combination of both VS protocols is feasible.
Pharmacophore-based methods can be used as a prefilter during the screening of large databases to reduce data input with docking-based VS. Alternatively, the two methods can be used in parallel to improve the hit rate with VS.

Conclusions
IVSPlat 1.0 is a plug-in based software platform for the management of VS tasks and the analysis of VS results, which integrates pharmacophore-based VS, dockingbased VS, a molecular graphics system, and the analysis of results in a single, user-friendly workbench. IVS-Plat 1.0 is an open framework which provides the potential for further development. Work is ongoing to improve the platform and allows researchers to perform QSAR model-based VS, ADMET-based virtual screening, and knowledge-based virtual screening. Researchers can also use more auxiliary programs for workbench construction and results analysis. Another major feature of this project will be the development of online updates. The platform will be updated on the IVSPlat web page. In the table, Nos 1 to 72 represent ligands 1 to 72. "√" indicates that the ligand was successfully screened out, whereas "×" indicates that the ligand was not screened out.