You are here

Add a ligand with only one atom (i.e. Zn) to the RosettaCM

7 posts / 0 new
Last post
Add a ligand with only one atom (i.e. Zn) to the RosettaCM

My understanding for adding the ligand is to use the molfile_to_params script to generate XXX.cen.params, XXX.fa.params, XXX.tors files. 

My ligand is just a one atom Zn. When molfile_to_params script is used, I got this error

ValueError: Fragment 1 has 1 atoms; merge with another fragment or add virtual atoms to make 3 total

which seems to indicate the ligand must be 3 or more than 3 atoms, is that correct?

If so, how to add virtual atoms, or is there an alternative way to add Zn atom during RosettaCM?

zn.mol2_.txt159 bytes
Post Situation: 
Tue, 2021-06-22 10:28

Rosetta should already have parameters for a Zn residue. You only need to generate parameters yourself if you think there's something fundamentally wrong with the default parameters. (Note that ligand docking can work perfectly fine with database ligands -- you only need a params file to tell Rosetta about new chemistry. It's not a fundamentally required part of the docking process.)

If you do want to create your own parameter files, I'd recommend just copying the existing params file (e.g. database/chemical/residue_type_sets/fa_standard/residue_types/metal_ions/ZN.params) and manually modifying it to adjust to your desired parameters. (Remember that you'll have to change the NAME line and probably the three letter code, too, if you want to be able to load it alongside the ZN residue that's already in the database.)

If you did want to make a one (or two) atom ligand which isn't in the database, what you would want to do is add in extra atoms, but label them as "virtual" ("V" or "X" elements), and connect them to the other atom(s) with extra single bonds. This would result in a three-atom parameter file, but with two (or one) atom which is labeled as "virtual" and won't participate in interactions. This allows Rosetta to properly determine the orientation of the residue, but have it still interact like a one (two) atom residue.  You'll notice that's exactly how the ZN residue in the database is constructed.


Tue, 2021-06-22 10:37

Thank you rmoretti! I trust Rosetta, and I am certainly happy to use its default Zn residue settings. The Zn exists as a HETATM in the template pdb:

 HETATM10403 ZN    ZN A1311      67.552  45.160  57.495  1.00 57.00          ZN 

The RosettaCM includes threading, hybridize and relax. Do you mean I should consider Zn as a normal residue? How to do this?

If XXX.cen.params, XXX.fa.params, XXX.tors files are still needed, how to obtain them for Zn? Is the default ZN.params cen.params or fa.params file?


Tue, 2021-06-22 11:11

The Rosetta database contains the parameters for both full atom and centroid mode Zn. The appropriate ones will be picked automatically, depending on stage. The XXX.tors files aren't really needed, as there aren't any torsions in Zn.

You should treat the Zn residue like you would another ligand residue, you just don't have to provide the extra params & tors files for it. But the instructions for how to prep the templates and alter the XML script for RosettaCM for ligand (non-protein) residues should be the same.

Tue, 2021-06-22 12:12

Thank you, I found both centroid and fa_standard .params files for Zn in the database.

There are three steps to deal with ligand in RosettaCM.

  1. Add the tag add_hetatm=1 to the Hybridize mover line.
  2. Make sure your run-command and flag-file don't include the -ignore_unrecognized_res flag
  3. Add flags to your run-command or flag-file to read in centroid and fullatom .params files and a .tors files for your ligand


I am okay with Step 1 and 2.


For Step 3, the instruction is to use the molfile_to_params script to generate XXX.cen.params, XXX.fa.params, XXX.tors files, and supply them in the command.

-extra_res_cen XXX.cen.params
-extra_res_fa  XXX.fa.params
-extra_improper_file XXX.tors


But as you said, I do not need the .tors file. So do I only need to supply the centroid and fa_standard .params files? i.e.

-extra_res_cen ZN.cen.params
-extra_res_fa  ZN.fa.params

Tue, 2021-06-22 13:12

Hi, I have tested it.  I think I do not need to provide 

-extra_res_cen ZN.cen.params
-extra_res_fa  ZN.fa.params

as the ZN is already included in the default database.

Thank you for your help!

Wed, 2021-06-23 13:17

Exactly -- the extra params files are only needed if the chemical identity of the ligand isn't one that Rosetta already recognizes.

Thu, 2021-06-24 12:23