# Protein ligand docking: how to convert <protein>.pdb to <protein>.maps.fld?

Hello I'm helping to develop a cloud docking tool for screening compounds, similar to Swissdock but with mass throughput and GPU optimizations.

Specifically helping screen existing drugs against coronavirus proteins (couple structures solved, rest TASSER).

I'm planning to use GPU optimized AutoDock-GPU , which takes in .maps.fld

1. I know you can use autogrid to select the bounding box and generate the .maps.fld, but I've been unable to figure out the workflow.
2. for preliminary screening I want to search the whole protein without specifying a bounding box.
3. Is there a script for converting protein.pdb to .maps.fld?

Collaborators welcome.

Thanks!

There are a few steps in between pdb and .maps.fld.

Here is the list of several scripts that can do tasks for you that you downloaded with autodock MGLTools: http://autodock.scripps.edu/faqs-help/faq/where-can-i-find-the-python-scripts-for-preparing-and-analysing-autodock-dockings. Look at the prepare_ files. Also note that the scripts come with a pre-bundled python, but you can install these scripts with conda. Here are the basic order of things:

prepare_receptor4.py -r protein.pdb
prepare_ligand4.py -l ligand.mol2
prepare_gpf4.py -l ligand.pdbqt -r protein.pdbqt -y
autogrid4 -p protein.gpf
prepare_dpf4.py -l ligand.pdbqt -r protein.pdbqt


## partial charge

Your PDB needs partial charges so first you convert it to PDBQT file. This is true for your protein and your ligand. That is no complicated parameterisation for your ligand —which is not necessarily a good thing! In this step it is essential to correct protonation if absent each have their own flags.

## grid

The you make a grid file (gpf), which contains your grid. To make a box that spans the whole protein simply use the unit cell dimensions form the PDB. For an mmCIF, if you open the header dictionary you need _pdbx_struct_oper_list.matrix using MMCIF2Dict from biopython's PDB submodule. For a PDB file, just search for the CRYST1 line (cf. format).

Once you have have the grid you can run autogrid. This step will create the map.fld

### Why a big box is bad for a VS

However, all those who take this approach opt for a box that is huge: as there is no solvent having a huge bounding has little penalty. However, this is considered a very bad strategy for a virtual screen. This not because it uses up computer resources as these are dirty cheap. Structural knowledge is important and targeting the active site of an enzyme stops it, while binding to the surface does nothing unless it's an interface. So manually reading what the stuff are and choosing the box wisely will save you a lot of time downstream in analysis. There is after all the saying "one week in the lab will save you an hour in the library"...

## Protein and ligand

Lastly, merge the protein with the small molecule in a dpf file.

## Caveat against docking with models

It is not a good idea dock against models. Swissmodel (unless virtually identical), I-Tasser, Phyre or EVFold models. Docking is very sensitive to small structural difference that may have resulted from the modelling, so docking to models is highly discouraged. For Coronavirus protein, dock against SARS, which is highly similar. Or at the very least pay strong attention to the I-Tasser C-scores and discard the bottom 2/3 of their models.