Author: Sam DeLuca

Why is this process necessary?

Rosetta uses Params files to store precomputed information about the geometry and chemistry of residues and ligands. A params file is required for each residue encountered in a PDB. A set of params files for commonly seen residues and metals is included with rosetta, and can be found in /path/to/rosetta/main/database/chemical/residue_type_sets

  • An overview of the Params File type can be found here
  • An introductory tutorial on preparing ligands can be found here.

Generating Ligand Conformers

If you want to model ligand flexibility during protein-ligand docking, it is necessary to generate a library of ligand conformers. This library needs to be formatted as a PDB file containing the coordinates of each conformer, with the conformers seperated by "TER" lines. There are a number of ways to generate conformers, with MOE and openeye Omega being the most straight forward. Rosetta is not currently capable of generating conformers internally.

Generating Params Files one at a time using molfile_to_params.py

rosetta_source/scripts/python/public/molfile_to_params.py generates params file and a pdb file based on an input molfile. Running this script without arguments provides documentation on its usage and options. The generated PDB file has coordinates identical to the coordinates in the input molfile, and PDB atom names that match the atom names in the params file. It is critical that the atom names match between the PDB and params file. By default, the params file generated by this script has the name "LG1".

If you have a library of conformers, append a PDB_ROTAMERS line to the end of the generated params file in the following format:

PDB_ROTAMERS path/to/rotamers.pdb

Generating Params Files in bulk using batch_conformers.py

If you have a set of ligands in molfile format, you can use the script rosetta_source/scripts/python/public/batch_molfile_to_params.py Run the script with the flag -h for a usage statement and basic instructions. It takes as input the rosetta database, a file containing a list of paths to molfiles, and the path to the molfile.params script.

This script will give each molfile a unique 3 letter code, and parses the rosetta database to ensure that no 3 letter codes are used which conflict with existing ligands in the database. Each molfile should contain confirmations for only a single ligand. If your mol file contains multiple confirmations, a PDB_ROTAMER file will be created and referenced in the params file.

you can run it like this:

Rosetta/main/source/scripts/python/public/batch_molfile_to_params.py -d /path/to/rosetta/Rosetta/main/database --script_path=/path/to/molfile_to_params.py list_of_molfiles.txt

A new directory called "params" will be created in the directory you executed the script from. This directory will have a subdirectory for each processed molfile, and this directory will contain the params file and associated ligand pdb file. In some cases molfile_to_params is unable to successfully create a params file. In this case, the script will continue, and the path to the failed mol file will be printed to stdout.

See Also