I am trying to design a ligand binding protein. And I am just wondering is there any way to give bonus to the score when the protein is H-bonding to the ligand? Thank you all.
There's some possibilities, though none are really directly straightforward.
One possibility is to use the ProteinLigandInterfaceUpweighter, which is a TaskOperation which causes the packer to add a bonus for protein-ligand interactions when doing design. It doesn't specifically increase the h-bonding weight, and only functions during fixed-backbone design in the packer, and not during minimization or other such stages of the full design protocol.
Another possibility assumes you have a specific hbonding interaction you can specify. In those cases you can write constraints which will recognize those hbonds, and will give a bonus for them. The downside here is that you would have to pre-specify the residues and atoms involved in the h-bonding interaction, and this is normally brittle to having those atoms always be present, so if you design those positions to non-hbonding residue types, Rosetta may crash on you.
A third possibility to look into is the HBNet code. This is specifically designed for creating hydrogen bonding networks. It doesn't necessarily simply give a bonus for good hydrogen bonds to a ligand, but it may allow you to design in hbonding interactions to the ligand.
A final possibility is to simply run design a bunch, and then use the presence of hydrogen bonders of the approriate type as a post-filter. You don't bonus the hydrogen bonds during the design run itself, but instead manually add in the bonus in your model selection step.
There's some possibilities, though none are really directly straightforward.
One possibility is to use the ProteinLigandInterfaceUpweighter, which is a TaskOperation which causes the packer to add a bonus for protein-ligand interactions when doing design. It doesn't specifically increase the h-bonding weight, and only functions during fixed-backbone design in the packer, and not during minimization or other such stages of the full design protocol.
Another possibility assumes you have a specific hbonding interaction you can specify. In those cases you can write constraints which will recognize those hbonds, and will give a bonus for them. The downside here is that you would have to pre-specify the residues and atoms involved in the h-bonding interaction, and this is normally brittle to having those atoms always be present, so if you design those positions to non-hbonding residue types, Rosetta may crash on you.
A third possibility to look into is the HBNet code. This is specifically designed for creating hydrogen bonding networks. It doesn't necessarily simply give a bonus for good hydrogen bonds to a ligand, but it may allow you to design in hbonding interactions to the ligand.
A final possibility is to simply run design a bunch, and then use the presence of hydrogen bonders of the approriate type as a post-filter. You don't bonus the hydrogen bonds during the design run itself, but instead manually add in the bonus in your model selection step.