Interface Analyzer API
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).
Examples
Run interface-analyzer on an input structure, where the interface is between chains A and B, using Rosetta InterfaceAnalyzer
lev 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
lev 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).
lev 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.