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.


  • $\begingroup$ Hi @PaulShen please do remember to mark the answer 'accepted'. This really does help the site. The answer is very thorough $\endgroup$
    – M__
    Oct 27, 2022 at 17:29

1 Answer 1


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.


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.

Note about coronavirus

Your objective of docking coronavirus may be a bit too late however. I did a wee interactive summary of the literature about the solved structure which is the protease. Proteases are very easy to rationally design drugs for. There are already:

  • The Covid Moonshot project is an open collaboration between a fragment-screening X-ray facility (Diamond XChem) and many researchers from various disciplines (myself included).
  • a paper that has an empirically validated coronavirus specific ligand
  • many many manuscripts about virtual screens in bioarxiv/chemarxiv.
  • licensed HIV protease inhibitors lopinavir and ritonavir that were initially suspected to be effective —a clinical trial

Also you may want to check out Galaxy project, a tool to run pipelines for genomics, but have started moving into biochemistry from genomics. Eg. https://covid19.galaxyproject.org/cheminformatics/.

  • 1
    $\begingroup$ Thanks Matteo for your detailed explanation and literature references! It's great to see promising candidates in the pipeline. Our aim is mainly on the tool--a modern GPU optimized Swissdock-like web service for quickly screening thousands of existing drugs. Then automatically suggesting candidates not only on the affinity but also clinical plasma concentration, bioavailability and side effects. The results wouldn't be novel for coronavirus though good if we reproduce existing literature. $\endgroup$
    – Paul Shen
    Feb 23, 2020 at 22:12
  • $\begingroup$ A wee suggestion. I understand that most users may not be familiar with Lipinski's rule of five or normal predicted chemistry metrics, such as logP, but these are likely more useful than pharmacology metrics, especially as the latter are very rarely available. Plus the Crippen contribution to logP is always found intriguing to non-compchemists, eg. Bioinf SE question about lipophilicity $\endgroup$ Feb 24, 2020 at 9:50
  • $\begingroup$ That makes sense. Thank you for the advice. $\endgroup$
    – Paul Shen
    Feb 27, 2020 at 19:57
  • 1
    $\begingroup$ The Scripps link is broken the following provides an avenue to find it autodock.scripps.edu/resources $\endgroup$
    – M__
    Oct 27, 2022 at 16:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.