StructureOptimizer module
- mutate.StructureOptimizer.optimize(model, coords, info_tensors, epochs=50, verbose=False, learning_rate=0.1, backbone_rotation=False)
function that minimizes the energy of protein(s) or complex(es)
- Parameters:
model (madrax.ForceField) – A Madrax ForceField object. It can be generated using the madrax.ForceField function
coords (torch.Tensor) – shape (Batch, nAtoms, 3) coordinates of the proteins. It can be generated using the madrax.utils.parsePDB function
info_tensors (tuple) – a set of precalculated information tensors required by the forcefield. It can be created out of the box with the function madrax.dataStructures.create_info_tensors starting from the atom names (that can be obtained, along with the coordinates, by the madrax.utils.parsePDB function)
epochs (int) – number of optimization epochs default = 50
learning_rate (float) – learning rate of the optimization default = 0.1
verbose (bool) – if you wanna see a lot of text everywhere in your terminal
- Returns:
final_energy – shape: shape (Batch, nChains, nResi, nMutants, 10) The Gibbs energy of the input proteins. The dimensions are organized as follow:
The batch dimension refers to the protein number (same order of the one defined by the madrax.utils.parsePDB finction), chain refers to the chain index (sorted alphabetically), residue number refers to the residue position, nMutants refers to the mutants you might have implemented in the calculation (this dimension is 1 if no mutants have been added). The last dimension refers to the different types of energy:
0: Disulfide bonds Energy
1: Hydrogen Bonds Energy
2: Electrostatics Energy
3: Van der Waals Clashes
4: Polar Solvation Energy
5: Hydrophobic Solvation Energy
6: Van der Waals Energy
7: Backbone Entropy
8: Side Chain Entropy
9: Peptide Bond Violations
10: Rotamer Violation
- Return type:
torch.Tensor
- coords_local: torch.tensor
shape: (Batch, nAtoms) coordinates of the optimized proteins