Documentation created by Brahm Yachnin (, Khare laboratory and Chris Bailey-Kellogg ( Parts of this documentation are copied/adapted from Vikram K. Mulligan's ( design-centric guidance documentation. Last edited May 8, 2019.


A detailed explanation of packer-compatible de-immunization in Rosetta is described in the MHCEpitopeEnergy documentation. If your goal is to apply de-immunization globally to an entire protein/pose, it is simple enough to configure the de-immunization protocol at the scorefunction level and use that scorefunction for all relevant design movers.

An alternative approach, which attempts to preserve the protein sequence by targeting only the "hottest" immunogenic regions, can be implemented using the AddMHCEpitopeConstraintMover. This also makes using more sophisticated epitope prediction methods, like the NetMHCII predictor, that require a pre-computed external database to be feasible. We have provided the mhc-energy-tools to help you identify hotspots in your protein, and generate an external database if desired.

Generally speaking, the AddMHCEpitopeConstraintMover will de-immunize a pose only over the residues specified by the selector. The configuration of the epitope predictor can be the same as the scorefunction configuration, or it can be different by passing a unique .mhc file. (Note that you can even turn on the scoreterm without any configuration, and apply a configuration using constraints only. In this case, de-immunization will only be performed at the constraint-specified positions and configuration.)

You can also use AddMHCEpitopeConstraintMover to add a second epitope prediction method to the entire pose by applying it without a selector.

Note that for the constraint to be function, YOU MUST USE A SCOREFUNCTION WITH mhc_epitope WEIGHTED TO SOMETHING OTHER THAN 0. The weight parameter passed to the constraint mover will be multiplied by scorefunction weight to give you the "net weight." If you scorefunction has mhc_epitope weighted to 0, it will therefore have a net weight of 0.

Citation Information

Please see the main MHCEpitopeEnergy page for complete citation information if you use the AddMHCEpitopeConstraintMover. Users should cite the following paper, plus papers corresponding to Predictors that are used as described in the main page:

Yachnin BJ, Mulligan VK, Khare SD, and Bailey-Kellogg C. (2021). MHCEpitopeEnergy, a flexible Rosetta-based biotherapeutic deimmunization platform. J Chem Inf Model 61(5):2368-2382. doi: 10.1021/acs.jcim.1c00056.


Autogenerated Tag Syntax Documentation:

Add mhc epitope constraints from the provided file to the selected region or whole pose.

<AddMHCEpitopeConstraintMover name="(&string;)" selector="(&string;)"
        filename="(&string;)" weight="(1.0 &real;)" />
  • selector: If provided, the mhc epitope score of the selected region is constrained; otherwise the global score is constrained. The name of a previously declared residue selector or a logical expression of AND, NOT (!), OR, parentheses, and the names of previously declared residue selectors. Any capitalization of AND, NOT, and OR is accepted. An exclamation mark can be used instead of NOT. Boolean operators have their traditional priorities: NOT then AND then OR. For example, if selectors s1, s2, and s3 have been declared, you could write: 's1 or s2 and not s3' which would select a particular residue if that residue were selected by s1 or if it were selected by s2 but not by s3.
  • filename: (REQUIRED) Name of mhc epitope constraint file. (These files have a ".mhc" suffix).
  • weight: Adjust the mhc_epitope weight for the epitope predictor set up by this constraint mover ONLY. The weight will be the mhc_epitope weight of the scorefunction * this weight.

Removing Constraints

The ClearCompositionConstraintsMover mover will remove all MHCEpitopeConstraints, along with any other composition constraints. Of course, this will not remove predictors configured at the scorefunction level, only those configured at the constraint level.

See Also