Dear Rosetta Users,
I'm going to run a molecular docking simulation of a tripeptide - small protein (around 150 aminoacids) complex.
The tripeptide consists of all D-amino acids and has about 20 rotatable bonds.
Which application -- between RosettaLigand and FlexPepDock -- is better to dock such a small and high-flexible peptide ?
Moreover, I'd like to know which is the most up-to-date protocol to incorporate non-canonical amino acids into Rosetta.
Thanks in advance!
I'd probably suggest trying FlexPepDock, if you can get it to work.
The difficulty here with RosettaLigand is the number of rotatable bonds. RosettaLigand uses pre-generated conformers, so you have to be reasonably certain that the final bound conformation of the ligand is properly represented in the initial set of conformers. When you have a large number of rotatable bonds, the combinitorial complexity means you start to undersample the ligand flexibility.
FlexPepDock uses a different approach in sampling the internal conformational state of the ligand, which doesn't suffer the same combinitorial complexity issue, but relies on there being a peptide backbone. This requirement isn't an issue in your case, but the size might be. FlexPepDock represents the backbone conformations based on "fragments" drawn from the PDB. Those fragments are generated based on statistics from the sequence. The protocols to generate these fragments might have a hard time with such short sequences, though the FlexPepDock protocol may have a way to use generic fragments for such short sequences.
Another option is using the GALigandDock protocol (https://pubmed.ncbi.nlm.nih.gov/33577321/) -- this is explicitly designed to search the internal conformational flexibility of (non-peptide) ligands while docking, and uses a genetic algorithm to get around the combinitorial complexity issues.
To my knowledge, the FlexPepDock approach is incompatible with D-amino acids, since the fragments drawn from the PDB will be in the conformational space accessible to L-amino acids. However, since your tripeptide is all D-amino acids, there's a trick you can use: mirror the entire system, so that you're docking an L-amino acid tripeptide to a D-amino acid target, and use FlexPepDock for that. You can mirror an input PDB file by editing it in a text editor and performing the following two steps:
1. Multiplying one of the coordinate columns by -1. (Note that PDB files are spacing-sensitive, so you've got to replace a blank space with a minus sign, or a minus sign with a blank space.) The easiest way to do this in Vim is to replace all the minus signs in the column with asterisks, all the spaces in the column with minus signs, and all the asterisks with spaces. https://vim.fandom.com/wiki/Search_and_replace_in_a_visual_selection
2. Renaming amino acids to their D equivalents: ALA -> DAL, CYS->DCS, ASP->DAS, GLU->DGU, PHE->DPH, GLY->GLY (doesn't change), HIS->DHI, ILE->DIL, LYS->DLY, LEU->DLE, MET->DME, ASN->DAN, PRO->DPR, GLN->DGN, ARG->DAR, SER->DSE, THR->DTH, VAL->DVA, TRP->DTR, TYR->DTY. You can use the search-replace functionality of any text editor for this.