FoldX extension to homelette

Philipp Junk, 2021

This extension contains evaluation metrics based on FoldX, a force field for energy calculation and protein design (https://foldxsuite.crg.eu/) 1 2.

1

Guerois, R., Nielsen, J. E., & Serrano, L. (2002). Predicting Changes in the Stability of Proteins and Protein Complexes: A Study of More Than 1000 Mutations. Journal of Molecular Biology, 320(2), 369–387. https://doi.org/10.1016/S0022-2836(02)00442-4

2

Schymkowitz, J., Borg, J., Stricher, F., Nys, R., Rousseau, F., & Serrano, L. (2005). The FoldX web server: an online force field. Nucleic Acids Research, 33(Web Server), W382–W388. https://doi.org/10.1093/nar/gki387

Usage

import homelette.extension.extension_foldx as extension_foldx
help(extension_foldx.Evaluation_foldx_stability)

This extension expects FoldX to be installed and in your path.

Functions and classes

Currently contains the following items:

Evaluation_foldx_repairmodels Evaluation_foldx_interaction Evaluation_foldx_stability Evaluation_foldx_alascan_buildmodels Evaluation_foldx_alascan_interaction


class homelette.extension.extension_foldx.Evaluation_foldx_repairmodels(model, quiet=False)

Creates a modified version of the PDB and runs RepairPDB on it

Will not dump an entry to the model.evaluation dictionary

Parameters
  • model (Model) – The model object to evaluate

  • quiet (bool) – If True, will perform evaluation with suppressing stdout (default False). Needs to be False for running it asynchronously, as done when running Task.evaluate_models with multple cores

Variables
  • model (Model) – The model object to evaluate

  • output (dict) – Dictionary that all outputs will be dumped into

Notes

Most PDBs work fine with FoldX. For a specific use case in which I was working with GTP heteroatoms, I had to rename a few atoms to make the PDB compliant with FoldX.

evaluate()

Repairs models with FoldX. Automatically called on object initialization

Returns

Return type

None

class homelette.extension.extension_foldx.Evaluation_foldx_interaction(model, quiet=False)

Calculates interaction energy with FoldX

Requires a protein-protein complex. Expects Evaluation_foldx_repairmodels to have been performed beforehand.

Will dump the following entries to the model.evaluation dictionary:

  • foldx_interaction

Parameters
  • model (Model) – The model object to evaluate

  • quiet (bool) – If True, will perform evaluation with suppressing stdout (default False). Needs to be False for running it asynchronously, as done when running Task.evaluate_models with multple cores

Variables
  • model (Model) – The model object to evaluate

  • output (dict) – Dictionary that all outputs will be dumped into

evaluate()

Calculates protein interaction energy with FoldX. Automatically called on object initialization.

Returns

Return type

None

class homelette.extension.extension_foldx.Evaluation_foldx_stability(model, quiet=False)

Calculate protein stability with FoldX

Expects Evaluation_foldx_repairmodels to have been performed beforehand.

Will dump the following entries to the model.evaluation dictionary:

  • foldx_stability

Parameters
  • model (Model) – The model object to evaluate

  • quiet (bool) – If True, will perform evaluation with suppressing stdout (default False). Needs to be False for running it asynchronously, as done when running Task.evaluate_models with multple cores

Variables
  • model (Model) – The model object to evaluate

  • output (dict) – Dictionary that all outputs will be dumped into

evaluate()

Calculates protein stability with FoldX. Automatically called on object initialization.

Returns

Return type

None

class homelette.extension.extension_foldx.Evaluation_foldx_alascan_buildmodels(model, quiet=False)

Generates alanine point mutations for all positions in the given model using FoldX. Automatically called on object initialization.

Expects Evaluation_foldx_repairmodels to have been performed beforehand.

Will not dump an entry to the model.evaluation dictionary.

Parameters
  • model (Model) – The model object to evaluate

  • quiet (bool) – If True, will perform evaluation with suppressing stdout (default False). Needs to be False for running it asynchronously, as done when running Task.evaluate_models with multple cores

Variables
  • model (Model) – The model object to evaluate

  • output (dict) – Dictionary that all outputs will be dumped into

Notes

This Evaluation is very RAM intensive, so expect only to run 1 or 2 threads ni parallel.

evaluate()

Generates alanine point mutations for all positions in the given model. Automatically called on object initialization.

Returns

Return type

None

class homelette.extension.extension_foldx.Evaluation_foldx_alascan_interaction(model, quiet=False)

Calculates protein interaction energy with FoldX for all alanine point mutations generated by Evaluation_foldx_alascan_buildmodels.

Expects Evaluation_foldx_alascan_buildmodels to have been run before.

Will dump the following entry to the model.evaluation dictionary:

  • foldx_alascan: Dictionary of all interaction energies for all alanine

    scan mutations.

Parameters
  • model (Model) – The model object to evaluate

  • quiet (bool) – If True, will perform evaluation with suppressing stdout (default False). Needs to be False for running it asynchronously, as done when running Task.evaluate_models with multple cores

Variables
  • model (Model) – The model object to evaluate

  • output (dict) – Dictionary that all outputs will be dumped into

evaluate()

Calculates protein interaction energy with FoldX for all alanine point mutations generated by Evaluation_foldx_alascan_buildmodels.

Returns

Return type

None