I'm working on modeling covalently modified residues in Rosetta/PyRosetta. These modifications are things like acyl intermediates or covalent inhibitors...basically small-molecule ligands covalently bound to protein atoms in the context of a polypeptide chain. While the algorithm was written to model covalent inhibitors for a particular drug target we're working on, I'm interested in expanding it to look at a larger set of covalently-bound protein-ligand complexes in the PDB (both self-docking, cross-docking, and apo-docking).
This isn't exactly post-translational modifications, or non-canonical amino acids, or ligand docking, but sort of a combination of them. Does anyone know if the Meiler or Kuhlman labs (or anyone else in Rosetta) are working on ligand docking/modeling with covalent inhibitors where they explicitly model the covalent bond? If so, I'd like to get in touch.
I'm writing my reply for the "general release" audience, Sid - but why not just put this on the mini mailing list?
I've done something similar. In one case, I was modeling a covalently attached ubiquitin/E2 system; the paper just came out:
Mol Cell. 2011 Apr 8;42(1):75-83.
Essential role for ubiquitin-ubiquitin-conjugating enzyme interaction in ubiquitin discharge from cdc34 to substrate.
Saha A, Lewis S, Kleiger G, Kuhlman B, Deshaies RJ.
This code will release with 3.3 (which is planned for approximately August.) In this work, we used a molecular-mechanics derived potential (within Rosetta) to sample the thioester torsions directly, then scored the docking of the two proteins with standard Rosetta score12.
I've also modeled a covalently attached dye (post-translationally added to a surface cysteine). This paper isn't out yet, but the paper doesn't describe that aspect of the code very much anyway; that code will also release in 3.3. In this work, we treated the whole sidechain as a noncanonical amino acid, generated a rotamer library for it, and just let Rosetta treat it normally in packing.
You will be interested in this other thread about generating noncanonical AAs (another cysteine-linked experimental reagent); you may want to grab the tarball there while it's up: http://www.rosettacommons.org/content/some-application-troubles-when-usi...
Some of the code for doing these things hasn't been released and probably won't be for a while. Also, beyond the Meiler and Kuhlman labs, you may want Doug Renfrew (the NCAA guy) on your radar, as he is the best at getting your chemically-conjugated inhibitor into Rosetta as a valid residue type.
Thanks! Jeff told me the forum is pretty regularly used and that I should post it here..it's been a while since I last posted something on the mini mailing list.
Anyways, my approach seems similar to what you described in your covalently attached dye work - start with a stereospecific smile string of the modified AA, use OpenEye Omega to generate a conformer/rotamer library, use molfile_to_params.pl to generate parameters (modified to include polymer-type info), and then do some packing along with local backbone/side-chain sampling. Since we want to model diverse sets of ligands, we needed an automated method with minimal human intervention.
I grabbed the tarball in that thread. I'll send Doug an email and see if he has anything to add. The protocol was surprisingly easy to code up and run, and seems to be generated believable structures, so props to the mini developers.
I guess I disagree slightly with Jeff on the utility of DEVELOPER discussions on the USER boards - I don't want the academic users getting confused when we refer to resources they don't have available (because they aren't released yet). I proposed developer-only sub-boards on the mailing list but there was almost no interest.
So...if it works...what's the question?
I want to covalently dock a ligand to a protease and I was wondering if that is possible with Rosetta. From your communication above I understand that you were able to do this. Could someone please provide me with a step by step guide on how to proceed? Thanks!
If by "ligand" you mean a small molecule, the way I would approach it is by adding "enzdes" style constrains (https://www.rosettacommons.org/docs/latest/rosetta_basics/file_types/mat...) for your ligand and using the standard ligand docking protocols.
The only trick is that you will need to modify your input PDB to have a suitable REMARK header line to specify which residues are interacting. (See https://www.rosettacommons.org/docs/latest/application_documentation/des... for details.)
If you're using the ligand_docking application, then I believe you can just add the constraints during docking with the -enzdes::cstfile commandline option.
If you're using the newer RosettaScripts XML version of ligand docking, then you would use the AddOrRemoveMatchCstsMover https://www.rosettacommons.org/docs/latest/scripting_documentation/Roset... to add the constraints near the beginning of the PROTOCOLS section. As the documentation mentions, you would need to add the option -run:preserve_header to the commandline so that the residue specification header is correctly read.
If you haven't done (regular) ligand docking with Rosetta yet, I'd recommend working through the Meiler Lab tutorial, which can be found at http://meilerlab.org/index.php/jobs/resources under "Rosetta Tutorials"