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].

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

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.

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.

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.

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.

Return type:

None