Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
How to Prepare Ligands for use in Rosetta
Author
Sam DeLuca

Why is this process necessary?

Rosetta uses Params files to store precomputed infromation 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 rosetta_database/chemical/residue_type_sets

An overview of params files

Params files store a variety of chemical and geometric information. The following lines are typically found in Ligand params files. This does not represent a complete documentation of the params fileformat. These files are read in core/chemical/residue_io.cc

Generating Ligand Confromers

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/src/python/apps/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/src/python/apps/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_source/src/python/apps/public/batch_molfile_to_params.py -d /path/to/rosetta/rosetta_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.