How to Use mk_prepare_receptor for AutoDock Vina: Inputs, Output Files, and Reproducibility

Use mk_prepare_receptor to create AutoDock Vina receptor PDBQT and box files while documenting parsers, residue decisions, outputs, validation, and provenance.

Receptor preparation often appears to be a short conversion step between downloading a structure and running Vina. In practice, it is where the biological receptor hypothesis becomes executable input. The same coordinate file can produce different docking receptors depending on the selected assembly, chains, alternate locations, incomplete residues, hydrogens, cofactors, waters, metals, and flexible sidechains.

Meeko provides mk_prepare_receptor.py as its command-line receptor-preparation interface. The official examples show how to write a rigid receptor PDBQT and, optionally, the Vina box files used by the next stage of the workflow [1,2]. This guide focuses on what each input and output means, which decisions still belong to the researcher, and what to retain so another person can reproduce the preparation.

What mk_prepare_receptor does and does not do

The boundary between preparation and scientific judgment

TaskWhat the command can provideWhat the user must decide or verify
Read a structureParse PDB coordinates with RDKit or read PDB/mmCIF through ProDyCorrect biological assembly, model, chains, state, and source version
Parameterize the receptorAssign an AutoDock-compatible receptor representationProtonation assumptions, missing atoms, templates, nonstandard chemistry, and retained components
Write docking inputGenerate rigid and, when requested, flexible receptor PDBQT filesWhether the represented atoms and flexible residues match the experiment
Define a search regionWrite Vina box coordinates and a PDB visualization of the boxWhether the center and dimensions cover the intended site without unnecessary search volume
Report successReturn files, warnings, or errorsScientific review of the resulting receptor and its suitability for the planned study

Freeze the receptor hypothesis before running the command

Receptor preflight decisions

DecisionQuestion to answerEvidence to retain
Structure and assemblyWhich experimental or predicted structure and biological assembly represent the target state?Stable identifier, source URL, retrieval date, model, and assembly
Chains and residuesWhich chains belong in the receptor, and are binding-site residues complete?Included chains, construct boundaries, mutations, missing segments, and repairs
Alternate locationsWhich conformer is supported at each relevant alternate location?Selected altloc identifiers and rationale
Waters, metals, and cofactorsWhich non-protein components are part of the binding hypothesis and compatible with the method?Component-by-component retention or removal record
Hydrogens and stateAre hydrogen placement and residue states appropriate for the modeled conditions?Preparation method, pH assumption, manual decisions, and exceptions
Search siteIs the box based on a reference ligand, known residues, or another declared source?Center, size, padding, and the evidence used to define them

Choose the input parser deliberately

RDKit and ProDy input routes

OptionDocumented behaviorUse it when
--read_pdb receptor.pdbReads a PDB file with the RDKit PDB parserThe selected input is PDB and this parsing route is part of the recorded protocol
-i receptor.pdb or --read_with_prody receptor.pdbReads PDB or mmCIF through ProDyThe workflow requires ProDy parsing or starts from mmCIF

The two options are input routes, not interchangeable spellings. Meeko documents them separately [2,3]. Record the selected parser because parser behavior can affect how structural records become the molecular object that is subsequently parameterized.

Minimal rigid-receptor command
mk_prepare_receptor.py \
  --read_pdb receptor.pdb \
  -o receptor \
  -p

In the official basic-docking example, -o supplies the output basename and -p requests PDBQT output [1]. The explicit alternative shown in the command reference is -i examples/system.pdb --write_pdbqt prepared.pdbqt [2]. Use one documented form consistently, preserve the complete command, and do not rely on a filename alone to describe how the receptor was created.

Generate the receptor and Vina box files together

Box around a reference ligand
mk_prepare_receptor.py \
  --read_pdb receptor.pdb \
  -o receptor \
  -p -v \
  --box_enveloping reference_ligand.sdf \
  --padding 5

Files that may be produced

OutputRequested byRole
receptor.pdbqt-p or --write_pdbqtRigid receptor input for a standard Vina run; flexible preparation can add separate rigid and flexible files
receptor.box.txt-v with box settingsVina configuration containing the search-box center and size
receptor.box.pdbBox generationPDB representation for visually checking the box in a molecular viewer
Parameterized receptor JSON-j or --write_jsonMeeko receptor representation useful for retaining preparation data and advanced workflows
AutoGrid GPF-g or --write_gpfGrid parameter file for workflows that require AutoGrid maps; standard Vina scoring does not require precomputed maps [3,4]

Treat residue, template, and altloc options as scientific decisions

Consequential receptor-preparation options

Option familyWhat it changesReview requirement
--set_templateAssigns a specific residue template to a selected residueConfirm that the template represents the intended residue state and atom connectivity
--delete_residuesRemoves explicitly selected residuesList every deletion and verify that it does not remove required pocket chemistry
--delete_bad_resDeletes residues that fail template matching in current documentationInspect each omitted residue; command completion does not justify silent deletion
--default_altloc and --wanted_altlocSelect alternate atom locations globally or for named residuesPreserve the selected conformers and the evidence behind them
Flexible-residue optionsMove selected sidechains into a separate flexible receptor representationJustify residue selection and account for the larger search problem

Validate the generated receptor before running Vina

Output validation checklist

CheckWhat to inspectFailure signal
Execution recordExit status, standard output, warnings, command, environment, and versionIgnored warnings, undocumented defaults, or an unrecoverable template mismatch
File setEvery expected PDBQT, JSON, box, or GPF file exists and is nonemptyMissing companion file or output basename collision
Receptor compositionExpected chains, residues, cofactors, metals, waters, and no unintended ligand remainUnexpected atom-count change or missing binding-site component
Local geometryBinding-site residues, hydrogens, alternate locations, missing atoms, and clashesBroken residue, implausible placement, or unresolved alternate conformer
PDBQT representationAtom types, charges, preserved coordinates, and rigid/flexible partitionUnrecognized chemistry or movable atoms duplicated in the rigid file
Search boxVisualize .box.pdb and compare center and size with the intended pocketReference ligand or critical pocket region lies outside the box
TraceabilityHashes or stable identifiers connect source, command, outputs, and downstream Vina jobThe receptor cannot be linked unambiguously to its preparation record

Start with the broader protein and ligand preparation guide, then use the PDBQT format guide to inspect the executable representation. If the receptor contains water, metal, or cofactor decisions, apply the receptor-component decision framework. Define and document the search region with the Vina grid-box guide.

Keep a re-executable preparation record

Example receptor-preparation manifest
receptor_source:
  identifier: PDB_ID_AND_ASSEMBLY
  file: receptor.pdb
  sha256: RECORD_THE_INPUT_HASH
preparation:
  meeko_version: RECORD_EXACT_VERSION
  parser: rdkit_pdb
  command: mk_prepare_receptor.py --read_pdb receptor.pdb -o receptor -p -v --box_enveloping reference_ligand.sdf --padding 5
  chains: [A]
  altloc_decisions: RECORD_EXPLICIT_SELECTIONS
  deleted_residues: []
  retained_components: RECORD_WATERS_METALS_COFACTORS
outputs:
  receptor_pdbqt_sha256: RECORD_HASH
  box_txt_sha256: RECORD_HASH
  box_pdb_sha256: RECORD_HASH
validation:
  warnings_reviewed: true
  receptor_visually_inspected: true
  search_box_visually_inspected: true

A manifest turns receptor preparation from an undocumented file conversion into a reviewable method step. For an individual researcher, it reduces the chance of losing the command and box behind a result. For a laboratory, it creates a minimum handoff record that can be reviewed before screening resources are committed. The broader re-executable Vina reporting checklist carries that record through the rest of the study.

MolNexus 0.1.1 connects visible standard receptor and ligand preparation review, interaction-box setup, AutoDock Vina 1.2.7 execution with Vina or Vinardo, pose inspection, local history, and exports in one Windows workspace. It does not select the biologically correct receptor or prove that a prepared input is scientifically valid. Its value is making a standard workflow easier to inspect and retain when that scope fits the project.

Explore MolNexus

References

  1. Meeko developers, Forli Lab at Scripps Research. Basic Docking Official Meeko documentation Official receptor-preparation examples, box generation, output files, and flexible-receptor workflow.
  2. Meeko developers, Forli Lab at Scripps Research. mk_prepare_receptor.py Official Meeko command-line documentation Official command syntax, PDBQT writing, input modes, and residue-selection examples.
  3. Meeko developers, Forli Lab at Scripps Research. Options of mk_prepare_receptor.py Official Meeko option reference Official parser, output, template, deletion, alternate-location, charge, and box option reference.
  4. AutoDock Vina developers, Forli Lab at Scripps Research. Basic Docking Official AutoDock Vina documentation Official receptor preparation, Vina configuration, search-box, and docking execution guidance.
  5. AutoDock Vina developers, Forli Lab at Scripps Research. Frequently Asked Questions Official AutoDock Vina documentation Official guidance on input preparation, hydrogens, file paths, and reproducibility considerations.