SILCS-Hotspots: Fragment Binding Sites Including Allosteric Sites ================================================================= Background ---------- SILCS-Hotspots identifies all potential fragment binding sites on a target by doing SILCS-MC sampling across the entire target structure. The protein or other macromolecular target is partitioned into a collection of subspaces in which the fragment is randomly positioned and subjected to extensive SILCS-MC to identify favored local poses. This may be performed 1000 times or more per fragment in each subspace. The identified fragment positions are then RMSD-clustered followed by selection of the lowest energy pose in each cluster to define a binding site for further analysis. SILCS-Hotspots may be applied to small fragment-like molecules as well as larger drug-like molecules. When multiple fragments are used, a second round of clustering may be performed over the different fragment types to identify binding sites occuppied by one or more of the fragment types included in the calculation. Results from SILCS-Hotspots include all potential binding poses of the individual fragments, binding sites that contain one or more of the fragment types, and ranking of fragment poses and binding sites based on LGFE scores. Applications of SILCS-Hotspots include identifying putative fragment binding sites and performing fragment-based drug design. Putative binding sites identified by SILCS-Hotspots can be used for rapid database screening with SILCS-Pharmacophore. Alternatively, sites identified by SILCS-Hotspots can be considered for fragment-based design by linking poses of fragment-like molecules in adjacent sites to create drug-like molecules. Inputs for SILCS-Hotspots are the protein or other macromolecular target used for the SILCS simulations, the SILCS FragMaps resulting from those simulations, and the fragment(s) to be used for sampling. SilcsBio provides fragment files appropriate for SILCS-Hotspots (see below). Alternatively, you may use your own fragment file(s). Running SILCS-Hotspots from the SilcsBio GUI -------------------------------------------- 1. Select :guilabel:`New SILCS-Hotspots project` from the Home page. .. figure:: images/silcs-hotspots-landing_marked_border.png :width: 100% 2. Enter a project name and select the remote server where the SILCS-Hotspots jobs will run. You may choose these files from your local machine where you are running the SilcsBio GUI (“localhost”) or from any server you have previously configured, as described in :ref:`File and directory selection`. .. figure:: images/silcs-hotspots-new-project_marked_border.png :width: 100% 3. Provide FragMap and protein input PDB files. You will additionally need to provide a “Ligand file (in SDF format)” that contains the database of ligands to be used for sampling (see :ref:`hotspots_databases`). Once the information is entered correctly, click the “Setup” button at the bottom of the page. .. warning:: Ligands in the "Ligand file (in SDF format)" must include all hydrogens, including pH-appropriate (de)protonations, and must have reasonable three dimensional conformations. .. figure:: images/silcs-hotspots-new-project-with-input-files_marked_border.png :width: 100% 4. The GUI will contact the remote server and upload the input files to the “Project Location” directory on the remote server. A green “Setup Successful” button will appear once the upload has successfully completed. Press this green button to proceed. .. figure:: images/silcs-hotspots-setup_marked_border.png :width: 100% 5. The GUI will display a summary screen with the Project Name, Remote Server, Project Location, Protein PDB file, Ligand SDF file, and the Number of Ligands. You will also see "Exhaustive sampling mode" and "number of processors" under "Advanced Settings". You may select/adjust these if you desire. Click on the “Run SILCS-Hotspots” button. Doing so will submit jobs to the remote server and list them in a pop-over window. .. figure:: images/silcs-hotspots-simulation_marked_border.png :width: 100% 6. Once the jobs are submitted, you may click on the “Setup Successful” button to dismiss the pop-over window and return to the previous screen. .. figure:: images/silcs-hotspots-simulation-submitted_marked_border.png :width: 100% 7. The screen will now show a “Simulation Progress” section. You can update this section by clicking the “Refresh” button. This will update the job progress bars in the SilcsBio GUI. .. figure:: images/silcs-hotspots-simulation-progress_marked_border.png :width: 100% 8. Once the progress bars reach 100%, you will see a green “Show Chart” button. Click it to proceed. You may also click on the “Show Chart with Current Progress” button while some of the jobs are still running. .. figure:: images/silcs-hotspots-show-chart_marked_border.png :width: 100% 9. Clicking the “Show Chart” button will download a report folder from the server. Click on “Data collection finished” to proceed. .. figure:: images/silcs-hotspots-generate-hotspots_marked_border.png :width: 100% 10. A new tab, labeled “Table” will have been created in the right-hand panel. The “Table” tab lists the LGFE and Ligand Efficiency (LE) scores of each hotspot (referred to as "site"). By clicking on the ligand under the “Table” tab, you can center the visualization window at the ligand. .. figure:: images/silcs-hotspots-visualize-ligand-center_marked_border.png :width: 100% 11. You may also click on the “Components” tab in the right-hand panel and deselect the protein for easier viewing. .. figure:: images/silcs-hotspots-visualize-hide-protein_marked_border.png :width: 100% 12. Click on the box next to "Site #" to display all the hotspot sites on the visualization window. Click the "Save Results" button to save the SILCS-Hotspots results for all your selected hotspot sites to your local computer. You can sort the table using the "Sort Site By:" drop-down menu. You can additionally display only those sites meeting a cutoff criterion by using the "Filter Sites By:" drop-down menu and adjusting the "Cutoff:" value. .. figure:: images/silcs-hotspots-visualize-show-all-hotspots_marked_border.png :width: 100% 13. To measure the distance between two hotspot sites, select their solid spheres and click the “Measure” button in the right-hand panel. This will display a dashed line in the visualization window with the measured distance (in Å) from one hotspot site to the other. .. figure:: images/silcs-hotspots-visualize-measure-hotspot-distance_marked_border.png :width: 100% 14. The “Chart” tab in the right-hand panel converts the information from the “Table” tab into plots. The plot can be adjusted by sorting and/or filtering sites using the "Sort Sites By:" and "Filter Sites By:" drop-down menus. Changing the "Cutoff:" value will adjust the y-axis. The plot is interactive: hovering your mouse over a point will display the x and y values for that point. .. figure:: images/silcs-hotspots-visualize-LGFE-plot-cutoff_marked_border.png :width: 100% Running SILCS-Hotspots from the command line interface ------------------------------------------------------ Launching SILCS-Hotspots SILCS-MC jobs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Input arguments for launching the SILCS-Hotspots SILCS-MC jobs are: the PDB file used for the SILCS run (``prot``), the location of the fragment files (``ligdir``), and location of the SILCS FragMaps (``mapsdir``). When SILCS-Hotspots calculations are performed, the subdirectory ``4_hotspots/`` is created to store output from the exhaustive SILCS-MC runs. :: $SILCSBIODIR/silcs-hotspots/1_setup_silcs_hotspots prot= ligdir= mapsdir= bundle= .. note:: The above command will submit a large number of jobs, which can strain job queueing systems. The ``bundle`` keyword launches bundled jobs instead of individual jobs. Options include: 1) FragMap directory path: :: mapsdir= By default, the program looks for FragMaps in the ``maps/`` directory. 2) Fragment database location: :: ligdir= See :ref:`hotspots_databases` for detailed information. .. note:: ``.sdf``, ``.sd``, or ``.mol2`` files can be placed in the ``ligdir`` directory, and SILCS-MC will read a single molecule from each file. Note that if a file contains multiple molecules, use of the ``ligdir`` option will result in only the first molecule in the file being processed. If you have an SDF file with multiple molecules in it, replace ``ligdir=`` with ``sdfile=`` to process all molecules in the file. .. warning:: Ligands, regardless of file format, must include all hydrogens, including pH-appropriate (de)protonations, and must have reasonable three dimensional conformations. 3) Number of processors to use for bundled jobs: :: nproc=<# of processors used when bundle=true> 4) Directory containing output to be used in subsequent steps: :: hotspotsdir= 5) Template file for SILCS-MC sampling: :: paramsfile= The default SILCS-MC job parameters file for SILCS-Hotspots is ``$SILCSBIODIR/templates/silcs-hotspots/params.tmpl``. See :ref:`User-defined protocols` for customization details. Post-run clustering ^^^^^^^^^^^^^^^^^^^ Once the SILCS-Hotspots SILCS-MC jobs are complete, the next step is to cluster fragment poses that were output by the completed jobs. The clustering algorithm iteratively finds clusters with the largest number of members :cite:`Zhang:2004`. The process entails 1) computing the number of neighbors of each pose, 2) choosing the pose with the largest number of neighbors and marking it and its neighbors as cluster members, 3) removing cluster members identified in Step 2 from the pool of poses, and 4) repeating Steps 1-3 until there are no available poses left. The cluster "center" is defined as that fragment pose with the most neighbors in that cluster. This pose's LGFE score defines the LGFE score of the cluster. Run the command :: $SILCSBIODIR/silcs-hotspots/2_collect_hotspots prot= ligdir= to perform the clustering. You may also specify the following additional options: 1) Radius for RMSD clustering: :: cutoff= 2) Maximum number of sites to be identified for each fragment: :: maxsites=> 3) Directory containing output from the previous steps: :: hotspotsdir= Site determination and report generation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The final step of SILCS-Hotspots is site determination and report generation. This involves a second round of clustering over all specified fragments to identify sites on the protein to which one or more fragments bind. Each site is given the average LGFE score over all the fragments. In addition, the sites themselves may be clustered to identify binding pockets that suggest multiple adjacent sites that may be linked to build larger fragments (under development). Information on all the fragments, the binding sites, and the binding pockets is included in ``report.xlsx`` and in PDB files that are output to the subdirectory ``4_hotspots/report/``. Run the following command :: $SILCSBIODIR/silcs-hotspots/3_create_report ligdir= You may add these options: 1) Directory containing output from the previous steps: :: hotspotsdir= 2) Cluster radius for binding site determination: :: site_cutoff= 3) LGFE cutoff for inclusion of fragment poses in site determination: :: ligand_lgfe_cutoff= 4) Average LGFE cutoff for site determination: :: site_lgfe_cutoff= Sites having values less favorable than the cutoff will be discarded. 5) Flag to activate binding pocket calculation and associated clustering radius (under development): :: pocket= pocket_cutoff= The ``3_create_report`` command will populate the ``4_hotspots/report/`` subdirectory with the following: * ``report_all.xlsx``: Spreadsheet file containing analysis information. Included are the LGFE and Ligand Efficiency (LE) scores for each copy of every fragment obtained from clustering, relative affinity analysis, and listing of the posed fragment that defines each site. If binding pocket analysis is performed, information on binding pockets is included. * ``hotspots_sites.pdb``: PDB file containing the identified sites. The B-factor column value includes the average LGFE score of that site. * ``pdb_by_ligands``: Directory containing PDB files for each fragment with multiple coordinates for each site identified for the fragment. In the PDB files, REMARK includes the LGFE scores, the B-factor column includes the GFE score for each atom, and the final column lists the SILCS atom type. * ``pdb_by_site``: Directory containing PDB files of the fragments located at each site in ``hotspots_sites.pdb``. For example, the filename ``site_all_1_8_1.pdb`` indicates that at site 1 fragment 8 is present. The final 1 indicates that this is the first copy of fragment 8 at site 1. From the clustering alogrithm, it is possible that more than one copy of a fragment is included in a site. For example, ``site_all_1_8_2.pdb`` would be the second copy of fragment 8. In each PDB file, REMARK includes the LGFE scores, the B-factor column includes the GFE score for each atom, and the final column lists the SILCS atom type. The following additional outputs are produced if binding pocket analysis is performed (``pocket=true``): * ``hotspots_pockets.pdb``: PDB file containing sites that define each binding pocket. In the following, pocket P01 or 1 is defined by four sites with LGFE values for each site shown in the B-factor column. The algorithm does not number pockets consecutively: in this example, there is no P02 pocket, and pocket P03 contains 2 sites. :: ATOM 1 X P01 A 1 20.980 7.230 -12.513 1.00 -4.39 C ATOM 2 X P01 A 1 27.947 16.848 -6.986 1.00 -2.82 C ATOM 3 X P01 A 1 17.606 12.224 -10.043 1.00 -2.67 C ATOM 4 X P01 A 1 14.912 17.557 -5.282 1.00 -2.08 C ATOM 5 X P03 A 3 16.182 -10.455 11.793 1.00 -2.96 C ATOM 6 X P03 A 3 17.605 0.058 15.384 1.00 -2.83 C * ``pdb_by_pocket``: Directory containing PDB files for fragments that comprise each pocket. For example, ``pocket_all_8_site_12_10_1.pdb`` indicates pocket 8 contains a fragment from site 12 and that fragment is fragment 10. ``1`` indicates that it is the first copy of fragment 10 in that pocket. REMARK includes the LGFE scores, the B-factor column includes the GFE score for each atom, and the final column is the SILCS atom type. Practical considerations ^^^^^^^^^^^^^^^^^^^^^^^^ ``1_setup_silcs_hotspots`` creates a subdirectory, ``4_hotspots/``, (or user defined name using ``hotspotsdir=``) that contains fragment pose and LGFE information. As SILCS-Hotspots makes use of large numbers of SILCS-MC calculations on each fragment, this directory will be filled with a substantial amount of data. It is suggested that, once all analyses are complete, these files either be deleted or archived, and ``4_hotspots/`` be renamed prior to additional hotspots runs. Remember, the data in ``4_hotspots/`` are used for post-run clustering and site determination and report generation. If ``1_setup_silcs_hotspots`` is being rerun with new parameters, such as new fragments as specified by ``ligdir=``, the subdirectory ``4_hotspots/`` should be renamed or an alternate name assigend using ``hotspotsdir=`` to avoid information from the original run being overwritten. However, this is not strictly necessary IF all the new fragments have unique filenames relative to the original run AND the SILCS-MC job parameters specified by ``paramsfile=`` are not changed, since the subsequent ``2_collect_hotspots`` command only performs analysis on Mol2/SDF files in the specified ``ligdir`` directory. ``1_setup_silcs_hotspots`` launches a large number of jobs that, while the majority of jobs finish quickly individual jobs may take time (minutes to an hour) to complete. In some cases one or two jobs in the set may require additional time due to the robust SILCS-MC convergence criteria used in SILCS-Hotspots. For the SILCS-MC sampling, especially with larger fragments or ligands, you may prefer not to include the SILCS Exclusion Map. This will permit fragment sampling of poses that would otherwise be rejected because of overlap with the exclusion region. Using this approach, final fragment poses will be based solely on scoring with SILCS FragMaps. To achieve this, set the weighting of the Exclusion Map to zero in your custom SILCS-MC job parameters file (``paramsfile=``). A simple means to this end is to use a copy of the default file ``$SILCSBIODIR/silcs-mc/params_custom.tmpl`` in which you replace the ``1.000`` in the below line with ``0.000``. :: SILCSMAP EXCL /.excl.map 1.000 Clustering of data in the ``4_hotspots/`` or equivalent subdirectory with the ``2_collect_hotspots`` command produces representative fragment poses on a per-cluster basis. If clustering is repeated, for example with a different clustering radius, the old PDB files created in ``4_hotspots/`` will be overwritten. Therefore, make sure to run site determination and report generation (the ``3_create_report`` command) on your original clustering output before repeating clustering. ``2_collect_hotspots`` processes each of the fragments individually and typically requires minutes to complete for 100 fragments. During that process a number of warning messages, such as "Clustered PDB not found: 4_hotspots/2/subspace_1/pdb/2_clust_1_1.pdb," will be given. These are expected as they indicate subspaces for the fragments in which no favorable fragments poses were identified. For example, this may occur where the subspace encompasses the protein structure. Site determination and report generation with the ``3_create_report`` command creates a subdirectory, ``4_hotspots/report/``, and outputs ``report.xls`` and PDB files into this subdirectory. Rerunning ``3_create_report`` with different parameters, like an alternate value of the site clustering cutoff, will overwrite the original output. Therefore, prior to rerunning report generation, rename ``4_hotspots/report/`` to save your original report generation outputs. The clustering alogrithm for site determination does not consider the identity of the fragment when performing the clustering. Accordingly, in certain cases it is possible for the same fragment to be included two or more times in a given site. Example ^^^^^^^ The following demonstrates use of SILCS-Hotspots on p38 MAP kinase. Input files, including FragMaps, are in ``$SILCSBIODIR/examples/silcs/``. :: cp -r $SILCSBIODIR/examples/silcs/silcs_fragmaps_p38a . cd silcs_fragmaps_p38a $SILCSBIODIR/silcs-hotspots/1_setup_silcs_hotspots prot=p38a.pdb ligdir=$SILCSBIODIR/data/databases/ring_subset mapsdir=maps bundle=true In this example, we use ``$SILCSBIODIR/data/databases/ring_subset`` as the fragment database (see :ref:`hotspots_databases`). Owing to the small size of this database, the example run finishes quickly. Once the jobs spawned by ``1_setup_silcs_hotspots`` complete, use the following commands for post-run clustering and site determination and report generation. :: $SILCSBIODIR/silcs-hotspots/2_collect_hotspots prot=p38a.pdb ligdir=$SILCSBIODIR/data/databases/ring_subset $SILCSBIODIR/silcs-hotspots/3_create_report ligdir=$SILCSBIODIR/data/databases/ring_subset This will have created the ``4_hotspots/report/`` subdirectory containing the following: * ``hotspots_sites.pdb``: Centroid positions of fragment clusters, that is, the "hotspots." Clusters are ranked using average LGFE scores, with the cluster rank listed in the residue number field and the average LGFE score in the B-factor field. * ``report_all.xlsx``: Report of hotspots in spreadsheet format. * ``pdbs_by_sites``: List of PDB files for each hotspot. .. figure:: ../images/silcs-hotspots/hotspots.png :width: 90% Panel (A) shows p38 (surface representation), SILCS FragMaps (wire frame), and all hotspots (red spheres) determined by SILCS-Hotspots. The crystal binding pocket is circled in red. Panel (B) has FragMaps, hotspots, and the crystallographic ligand. Two hotspots are identified within the crystal binding pocket and coincide with the rings of the fragment. Panel (C) shows fragment poses from SILCS-Hotspots calculations as well as FragMaps and hotspots. .. _fda_top20_analysis: Validating hotspots using FDA-approved drugs -------------------------------------------- A SILCS-Hotspots run will typically use a database of fragment-like molecules (see :ref:`hotspots_databases`) to determine probable small-molecule binding hotspots on the input target. Further validation of a subset of these hotspots can be done by docking and scoring actual FDA-approved drugs at these hotspot locations. To this end, an automated workflow is provided for docking 348 diverse FDA-approved drugs at user-selected hotspots and calculating the drug molecules' relative solvent accessible surface areas (rSASA) before and after docking. Suggested characteristics of hotspots to be selected for further validation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Users will need to judiciously choose a subset of the hotspots determined by SILCS-Hotspots for further validation by docking of FDA-appoved drugs. As these drug molecules are significantly larger and have more rotatable bonds than the fragment-like molecules used in determining hotspots, there is relatively more computational expense associated with docking them versus fragment-like molecules. This can make it impractical to apply the validation procedure to the entire set of hotspots. Suggested characteristics for choosing a hotspot to include in your subset for further validation include * The hotspot is partially or fully buried * The hotspot has other hotspots nearby (typically within 10 Å) * The hotspot has 2 or more apolar FragMap regions in close vicinity * The hotspot has multiple hydrogen bond Don/Acc FragMap regions in close vicinity Once you have selected your subset of hotspots, you will need to EITHER supply them as a separate pdb file ```` OR as a comma-separated list (e.g. ``"2,7,10,22"``) along with the full ``hotspots_sites.pdb`` file from the SILCS-Hotspots standard report: :: $SILCSBIODIR/silcs-hotspots/4a_fda_top20_analysis prot= hotspotspdb= OR :: $SILCSBIODIR/silcs-hotspots/4a_fda_top20_analysis prot= hotspotspdb=hotspots_sites.pdb myhotspots="2,7,10,22" This first step will set up and run SILCS-MC simulations for each of the 348 FDA-approved drug molecules at each of your selected hotspots. The SILCS-MC in this first step entails exhaustive sampling of ligand orientations and conformations. Other options include: * A tag identifying the subset of hotspots you are analyzing: :: sitetype= The default ```` is set to ``"rings"``. If you use this option, make sure to use it for ALL the following steps as well. * FragMap directory path: :: mapsdir= By default, the program looks for FragMaps in the ``maps/`` directory. * Compound library/database location: :: sdfile= or :: ligdir= The default is the database of 348 diverse FDA-approved drug molecules, which is expected generally to work well. However, you may choose to supply a different database. * Number of processors to use for bundled jobs: :: nproc=<# of processors used when bundle=true> By default, the ``bundle`` keyword is set to ``true`` in this analysis. The second step involves collecting poses from completed SILCS-MC simulations of the 348 FDA-approved drugs and rank ordering them, with the results being output to ``lgfe.csv``: :: $SILCSBIODIR/silcs-hotspots/4b_fda_top20_analysis prot= hotspotspdb= The third step will set up and submit jobs to compute rSASA values for top compounds. :: $SILCSBIODIR/silcs-hotspots/4c_fda_top20_analysis prot= hotspotspdb= An additional option for this third step is: * ``top`` : Number of top compounds with best LGFE scores to select for subsequent analysis. By default, this is set to ``top=20`` as suggested by the names of the job scripts in this section. If you change this default, make sure to include the same option in the next final step. The fourth and final step will collect rSASA results, plot rSASA-vs-LGFE, and create a directory ``fda_top20_analysis`` containing the final results: :: $SILCSBIODIR/silcs-hotspots/4d_fda_top20_analysis prot= hotspotspdb= To evaluate a different subset of hotspots, simply run the above steps again with this different subset of hotspots and specify a different ``sitetype`` value. .. warning:: Re-using the same ``sitetype`` value will cause your prior results to be overwritten. .. _hotspots_databases: Default databases of fragment-like molecules -------------------------------------------- Three default databases of fragment-like molecules are provided with your SilcsBio software. You may choose to use one of these for your SILCS-Hotspots run, or use your own custom molecule or database of molecules. The databases are provided both as directories containing one molecule per Mol2 file and as a single SDF file containing all molecules in the database. - ``$SILCSBIODIR/data/databases/{ring_system,ring_system.sdf}``: Mono- and bicyclic rings commonly appearing in drug-like compounds :cite:`Taylor:2014`. .. figure:: images/silcs-hotspots-database-ring_system.png :width: 90% - ``$SILCSBIODIR/data/databases/{ring_subset,ring_subset.sdf}``: A small subset of the ``ring_system`` database. .. figure:: images/silcs-hotspots-database-ring_subset.png :width: 90% - ``$SILCSBIODIR/data/databases/{astex_mini_frag,astex_mini_frag.sdf}``: Polar fragments curated from Astex :cite:`OReilly:2019`. .. figure:: images/silcs-hotspots-database-astex_mini_frag.png :width: 90%