mk_prepare_ligand.py#

A command-line script for ligand preparation that generates the ligand PDBQT file(s). Currently supports SD files (.sdf), Mol2 files (.mol2) and Mol files (.mol), but SDF is strongly preferred as input files.

Basic usage#

# write a single ligand PDBQT file from a single-molecule input file
mk_prepare_ligand.py -i molecule.sdf -o molecule.pdbqt

# prepare ligand PDBQT files in batch from a multiple-molecule input file
mk_prepare_ligand.py -i multi_mol.sdf --multimol_outdir folder_for_pdbqt_files

Options#

Input/Output Options#

-i, --mol <input_molecule_filename>#

The input molecule file, in formats such as MOL2, SDF, etc. This option is required.

--name_from_prop <property_name>#

Set the molecule name using a specified RDKit or SDF property.

-o, --out <output_pdbqt_filename>#

Specify the output PDBQT filename. Only compatible with single-molecule input.

--multimol_outdir <output_directory>#

Specify the directory to write PDBQT output files for multi-molecule inputs. Incompatible with -o/–out and -/.

--multimol_prefix <prefix>#

Replace the internal molecule name in multi-molecule input with the specified prefix. Incompatible with -o/–out and -/.

-z, --multimol_targz#

(Flag) Compress output files into a .tar.gz archive.

--multimol_targz_size <size>#

Define the number of PDBQT files per .tar.gz archive. Default is 10000.

-, --#

(Flag) Redirect output to standard output (STDOUT) instead of writing a file. Ignored if -o/–out is specified. Only compatible with single-molecule input.

Molecule Preparation Options#

-c, --config_file <config_file>#

Configure MoleculePreparation from a JSON file. Command-line arguments will override settings in the file.

--rigid_macrocycles#

(Flag) Keep macrocycles rigid in their input conformation.

--macrocycle_allow_A#

(Flag) Allow bond break with atom type A, which will be retyped as carbon (C).

--keep_chorded_rings#

(Flag) Retain all rings from exhaustive ring perception.

--keep_equivalent_rings#

(Flag) Retain rings with equivalent sizes and neighboring atoms.

--min_ring_size <size>#

Define the minimum number of atoms required in a ring for it to be considered for opening.

-w, --hydrate#

(Flag) Add water molecules to the structure for hydrated docking.

--merge_these_atom_types <types> [*]#

Specify a list of atom types to merge. The default is “H”.

-r, --rigidify_bonds_smarts <SMARTS>#

Provide SMARTS patterns to rigidify specific bonds in the molecule.

-b, --rigidify_bonds_indices <i j>#

Specify the indices of two atoms that define a bond in the SMARTS pattern (starting from 1).

-a, --flexible_amides#

(Flag) Allow amide bonds to rotate, making them non-planar (not recommended).

-p, --atom_type_smarts <JSON_FILENAME>#

Specify SMARTS-based atom typing in JSON format.

-aa, --add_atom_types <JSON>#

Specify additional atom types to assign in JSON format, with SMARTS patterns and atom type names.

--double_bond_penalty <penalty>#

Set a penalty value; values greater than 100 prevent breaking double bonds.

--charge_model <model>#

Choose the charge model: gasteiger, espaloma, or zero. Default is gasteiger; zero sets all charges to zero.

--bad_charge_ok#

(Flag) Allow NaN and Inf charges in the PDBQT output.

--add_index_map#

(Flag) Include a map of atom indices from the input to the PDBQT file.

--remove_smiles#

(Flag) Exclude SMILES from being written as a remark in the PDBQT output.

Reactive Docking Options#

--reactive_smarts <SMARTS>#

Provide a SMARTS pattern for defining the reactive group.

--reactive_smarts_idx <index>#

Specify the 1-based index of the reactive atom within the SMARTS pattern provided by –reactive_smarts.

Covalent Docking (Tethered) Options#

--receptor <filename>#

Specify the receptor file. Supported formats depend on ProDy availability, such as .pdb and .mmcif.

--rec_residue <residue>#

Specify the residue in the receptor for attachment, e.g., A:LYS:204.

--tether_smarts <SMARTS>#

Provide a SMARTS pattern defining the ligand atoms used for attachment to the receptor.

--tether_smarts_indices <IDX IDX>#

Specify the 1-based indices of the two atoms in the SMARTS pattern that will be attached (default: 1 2).