Interface Analyzer
The Interface Analyzer API runs either Rosetta InterfaceAnalyzer or the Rosetta semi-explicit water protocol on a given structure for a defined protein-protein interface. The InterfaceAnalyzer Rosetta application reports calculated binding energies and other interface metrics of the defined interface. See Rosetta Interface Analyzer documentation for more information on the protocol. The semi-explicit water protocol considers the energetic effects of ordered water molecules on the surfaces of proteins to better determine how a protein interacts with binding partners at its interface (See Pavlovicz et al., 2020 for more details).
Quickstart
Run interface-analyzer on an input structure, where the interface is between chains A and B, using Rosetta InterfaceAnalyzer
cyrus engine submit interface-analyzer --pdb-file input.pdb --mode analyzer --interface1 "A" --interface2 "B"
Run interface-analyzer on an input structure, where the interface is between chains A-B and C, using Rosetta InterfaceAnalyzer
cyrus engine submit interface-analyzer --pdb-file input.pdb --mode analyzer --interface1 "A,B" --interface2 "C"
Run interface-analyzer on an input structure, where the interface is between chains A and B using the semi-explicit water protocol. Note: the water protocol assumes input chains in numeric sequential order as they appear in the input file, not specific chain IDs (ex. chain A = chain 1).
cyrus engine submit interface-analyzer --pdb-file input.pdb --mode water --interface1 1 --interface2 2
Inputs
--pdb-file
Input PDB file
CLI argument:
--pdb-file input.pdb
Do not include nonprotein residues. Does not support ligands.
--mode
Mode of interface analyzer to run
Either
analyzer
for Rosetta InterfaceAnalyzer application, orwater
for the semi-explicit water protocol
--interface1
(str)Chain(s) defining group 1 of interface.
For interfaces involving more than two chains, you need to specify which chains are in which group
For multiple chains, enter a comma delimited string, ex. if one side of an interface is defined by both chains A and B, use
--interface1 A,B
If
mode == water
, interface chains should be numeric (i.e. chain A is chain 1) and match the sequential order of chains in the input PDB file.
--interface2
(str)Chain(s) defining group 2 of interface
For interfaces involving more than two chains, you need to specify which chains are in which group
For multiple chains, enter a comma delimited string, ex. if one side of an interface is defined by both chains B and C, use
--interface2 B,C
If
mode == water
, interface chains should be numeric (i.e. chain A as chain 1) and match the sequential order of chains in the input PDB file.
Rosetta InterfaceAnalyzer has not been thoroughly tested beyond three chains
Outputs
Rosetta InterfaceAnalyzer outputs:
output.tgz
Contains output PDB file
InterfaceAnalyzer does not modify the input, but will append scores in the output PDB
scores.tgz
Contains Rosetta score file with interface specific metrics
See InterfaceAnalyzer Expected Outputs for complete descriptions of each scoreterm
Semi-explicit water protocol outputs:
ddg.tgz
Contains binding energy scores using bound and unbound energies calculated for the system (see Notes for more)
sasa.tgz
Contains Rosetta calculated SASA scores
report.tgz
Contains averaged binding energy, average SASA, and interface score normalized by SASA
Notes
Detecting the interface
The interface is detected via InterfaceNeighborDefinitionCalculator for two-chain interfaces. The interface is detected via InterGroupNeighborsCalculator for the multichain constructor. It serves basically the same purpose, but can detect interfaces between groups of chains.
Binding energy calculations
From Pavlovicz et al.
The binding energies, ΔGbind, were calculated for the near-native and incorrect (decoy) docking poses by taking the difference between the computed energies of the bound and unbound states. This is accomplished in Rosetta by first calculating the energy for the bound system, then re-computing the energy when the two binding components are separated to obtain unbound state energies. An important part of interface energetics involves computing the energy cost of water displacement, making treatment of explicit waters of the unbound state an important consideration.