docking with molecular template superposition

FlexX can superimpose a part of a ligand-to-dock onto a known crystal structure of a ligand.

The "template ligand" may, for example, be known to bind within a specific active site in a very specific manner, and the modeler wants to ensure that this knowledge is pertained in a docking protocol. Another application to be thought of is side-chain docking of a series of highly similar compounds:


The overall core and ligand structures have to be very similar for mapping to occur correctly, small differences in bond and atom types can be tolerated.


  1. Read in ligand
    FLEXX/LIGAND> read 1dwd_min.mol2
  2. Find part in ligand which matches a template ('core'):
    FLEXX/LIGAND> mapref core.mol2 n n n
  3. switch off FlexX ligand initialization defaults:
  4. Read in protein
    FLEXX/RECEPTOR> read 1dwd.rdf
  5. Define the mapped part of the ligand to be the initial fragment ('base fragment'):
    FLEXX/DOCKING>  selbas r
  6. Place this very part:
    FLEXX/DOCKING>  placebas p
  7. Check the output visually, first 10 solutions:
    FLEXX/DOCKING> mdraw 1-10
  8. Place the rest of the ligand:
    FLEXX/OCKING> complex all


The MAPREF command can be used to achieve such a task by using subgraph matching. Firstly, the ligand to be docked needs to be read into FlexX as normal:

FLEXX/LIGAND> read 1dwd_min.mol2

Then the MAPREF command can be used to map the desired ligand to a core reference structure known to be in the active site:

FLEXX/LIGAND> mapref core.mol2 n n n

In the example we provide below, a template is provided, core.mol2, to which the ligand (read in previously) will be mapped. The options following the filename input of the core are, for checking bond type matches, checking atom type matches, and whether to include hydrogen atoms, respectively.

Symmetrical ligand fragments may have the problem of aligning in a flipped way. For such mappings to occur correctly molecules need an individual distinctive R group as a discrete point for mapping as FlexX will not know where to place the next ligand fragment. For example, in the picture below the sulfur atom linked to the heterocyclic ring provides this:

When a ligand is read with the READ command with default initialization settings, FlexX will try to prepare ("initialize") the ligand with respect to aromaticity, protonation, charges, atom types, bond types etc. This process may change your input ligand so that atom types and bond types may not match well anymore and no mappings will be found with MAPREF. If you are certain of your preparation, the FlexX default preparation steps should be disabled with the SELINT command:


this means, do not initialize anything on any level (!=NOT and *=ALL LEVELS).

Selective initialization can be evoked using, for example:

'SELINT !* 10 '

(The 10 refers to atom typing, see the FlexX manual for further details)

Then the ligand may be read in again as normal and mappings will be permitted.

After reading in a ligand the READ command in RECEPTOR should be used as normal to obtain the target protein.

FLEXX/RECEPTOR> read 1dwd.rdf

Now the base selection, the first fragment to be selected for placement in the binding site, should be undertaken with the SELBAS command and an 'r' or 'f' flag. The 'r' flag, reference mode, uses the superimposed co-ordinates of the ligand from the input template obtained from MAPREF. Multiple conformations are mapped and can be selected from MAPREF due to any torsion bonds found within a base fragment. The maximum number of base fragment mappings permitted is restricted by MAX_CONF_BASEFRAG, which may be altered using the SET command.

FLEXX/DOCKING>  selbas r

Alternatively the 'f' flag can be used. This is a freeze mode which takes the conformation of the base fragment as the frozen conformation of the reference structure. Therefore, exactly the same placement as given in the reference structure will be used.

When the base selection is complete the base can then be placed in the binding site with the PLACEBAS command also in the DOCKING menu:

FLEXX/DOCKING>  placebas p

Using a 'p' flag will trigger the perturbation mode where the base fragment is manually placed onto the core reference coordinates; however, instead of the single reference orientation of the base, the ligand fragment is perturbated such that a set of slightly different placements is generated which increases the probability of success for docking. An increase in success is obtained as small differences in the vital step of placing the first fragment may have large implications as the ligand is incrementally built.

At this point, you can check how FlexX placed your initial fragment:

FLEXX/DOCKING> mdraw 1-10

would draw the 10 best-ranked placements and send them to FlexV, the free graphics viewer from BioSolveIT.

Finally, to complete the docking using incremental build-up you must use the COMPLEX ALL command.

FLEXX/DOCKING> complex all

For your convenience, an example zip file is linked here.


stay tuned with all the breaking news.


© 2017 BioSolveIT GmbH,   all rights reserved