I am an undergraduate tackling a research project this summer in which I plan to develop a new metalloenzyme using myoglobin and a ligand that is similar to heme. I enjoy programming and as such thought it would be valuable to pursue computational techniques to help aid my design. I found this paper: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5511788/ that describes the method to design a protein active site to fit a given ligand using rosetta. However, I am concerned as the ligand I am mutating the enzyme to bind with involves histidine coordination with the ligands iron center (much like heme) and I have read that this is very challenging to model in rosetta. I have seen that some options involve constraining the structure to maintain the coordination bond distance from the histidine to the iron center, as well as creating an atom that is an artifical iron atom.
I am very new to Rosetta and I was wondering if achieving my goal would be reasonablly possible, as well as if there was any suggestions people with more Rosetta experience could give me.
> I have read that this is very challenging to model in rosetta
I would have to disagree. With PyRosetta it is straightforward to set any weird bond between residues one can dream up. With Rosetta Scripts some types of specific bonds are doable. In this case, SetupMetalsMover adds the donor bonds to coordinate metals https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/Movers/movers_pages/SetupMetalsMover.
In a many structures in the PDB metal coordinations is generally explicitly declared with LINK records https://www.wwpdb.org/documentation/file-format-content/format33/sect6.html
especially between magnesium and a nucleotide's phosphate groups (=easy to find example), therefore, given that Rosetta automatically deals with metal bonding if declared as LINK records, worse case scenario you could just edit the starting PDB to have your His form a donor bond to your iron.
What is a problem is that many movers hate ligands/ions therefore you will have to test to see if a chosen mover likes ligands (or else you'd find yourself hours later that the ligand valished —not fun).
Now. A problem is the chealated iron moiety. I generated a haem/heme params file once and it was painful. The iron forms 6 bonds: 4 with the pyrroles of the porphyrin ring and two inter-residue connections (LINK or CONECT in pdb, CONN1 + CONN2 in a params file). I got the SMILES for haem of Wikipedia: it did not open in RDKit, because the bonds were wrong. After manully fixing it and adding a temporary N and O coordinating atoms, RDKit could not embed it. OpenBabel could not compute the Gasteiger partial charges and I think I had to resort to Gaussian for this one. Once that was done, I parameterised it for Rosetta and then I switched the placeholders to CONN1 and CONN2. So be warned that the ligand parameterisation will be highly frustrating.