Potential restraints
As previously stated, Potential restraints are a family of EnergyFunctionComponent
instances that apply any given potential to a selection of Atom
instances, optionally further masked or mapped. For more details on how Potential restraints work in ProtoSyn (and how to set-up custom potentials) check the Core module Potential restraints section. In the Peptides module, new (or improved) Potential restraints are introduced, organized in the following sub-sections:
Cα - Cα Clash Restraint
The Cα - Cα Clash Restraint is a potential restraint (See Potential restraints for more details), applying a penalty for pairs of interacting Cα atoms with distances lower than a set value, thus reducing the occurrence of Residue
overlaps (also known as clashes).
ProtoSyn.Peptides.Calculators.Restraints.get_default_ca_clash_restraint
— Functionget_default_ca_clash_restraint(;[α::T = 1.0]) where {T <: AbstractFloat}
Return the default Cα-Cα clash restraint EnergyFunctionComponent
. α
sets the component weight (on an EnergyFunction
). If a mask
is provided, the component will apply that mask every calculation (fixed mask) - recommended, except for design efforts. Otherwise, the default get_diagonal_mask
function will be used, which calculates a new diagonal mask every calculation (effectly ignoring the same atom energetic contributions).
By default, this EnergyFunctionComponent
does not calculate forces, as they would only be applied to the Cα atoms. This setting can be re-defined in component.update_forces
.
Cα clash energy settings
- :d1, :d2, :d3, :d4 -> set each of the distances defining a flat-bottom potential (in Angstrom Å);
- :selection -> defines the atom selection limiting the considered atoms for the calculation;
- :mask -> defines the mask applied to the energy and forces result;
See also
ProtoSyn.Calculators.Restraints.calc_flat_bottom_restraint
ProtoSyn.Calculators.get_diagonal_mask
Examples
julia> ProtoSyn.Peptides.Calculators.Restraints.get_default_ca_clash_restraint()
Name : Cα-Cα_Clash_Restraint
Weight (α) : 1.0
Update forces : false
Setings :
:d4 => Inf
:selection => FieldSelection › Atom.name = CA
:d2 => 3.0
:mask => _diagonal_mask
:d1 => 1.0
:d3 => Inf
Figure 1 | A diagram representation of the Cα - Cα Clash Restraint EnergyFunctionComponent
. The applied potential is a flat bottom function, with only the lower bound having and energy penatly. The d1
and d2
settings can be customly parametrized. This energy is only calculated for pair of interacting Cα Atom
instances (in different Residue
instances, as defined the the provided AbstractSelection
and mask).
Sidechain Clash Restraint
The Sidechain Clash Restraint is a potential restraint (See Potential restraints for more details), applying a penalty for pairs of interacting atoms (belonging to different sidechains) with distances under a given threshold.
ProtoSyn.Peptides.Calculators.Restraints.get_default_sidechain_clash_restraint
— Functionget_default_sidechain_clash_restraint(;[α::T = 1.0], [mask::Opt{ProtoSyn.Mask} = nothing]) where {T <: AbstractFloat}
Return the default sidechain clash restraint EnergyFunctionComponent
. α
sets the component weight (on an EnergyFunction
instance). If a mask
is provided, the component will apply that mask every calculation (fixed mask) - recommended, except for design efforts. Otherwise, the default get_intra_residue_mask
function will be used, which calculates a new intra-residue mask every calculation.
Sidechain clash energy settings
- :d1, :d2, :d3, :d4 -> set each of the distances defining a flat-bottom potential (in Angstrom Å);
- :selection -> defines the atom selection limiting the considered atoms for the calculation;
- :mask -> defines the mask applied to the energy and forces result;
See also
ProtoSyn.Calculators.Restraints.calc_flat_bottom_restraint
ProtoSyn.Calculators.get_intra_residue_mask
Examples
julia> ProtoSyn.Peptides.Calculators.Restraints.get_default_sidechain_clash_restraint()
Name : Clash_Sidechain_Restraint
Weight(α) : 1.0
Settings :
:d4 => Inf
:selection => UnarySelection ❯ ! "not" (Atom)
└── FieldSelection › Atom.name = r"^CA$|^N$|^C$|^H$|^O$"
:d2 => 1.5
:mask => _intra_residue_mask
:d1 => 1.0
:d3 => Inf
Figure 1 | A diagram representation of the Sidechain Clash Restraint EnergyFunctionComponent
. The applied potential is a flat bottom function, with only the lower bound having and energy penatly. The d1
and d2
settings can be customly parametrized. This energy is only calculated for pair of interacting Atom
instances in sidechains of different Residue
instances (as defined the the provided AbstractSelection
and mask).
Contact Restraint
The Contact Restraint is a potential restraint (See Potential restraints for more details), applying a penalty for pairs of interacting Cα atoms with distances larger than a set value defined in a contact map. For contact map generation, consider using the RaptorX prediction server.
ProtoSyn.Peptides.Calculators.Restraints.get_default_contact_restraint
— Function get_default_contact_restraint(filename::String; [α::T = 1.0]) where {T <: AbstractFloat}
Return the default contact map restraint EnergyFunctionComponent
by reading the given filename
. α
sets the component weight (on an EnergyFunction
).
!!! ukw "Note:" Since the contact map is fixed, any EnergyFunction
containing this EnergyFunctionComponent
can only be applied to one protein/sequence (no design). The attached contact map can be re-defined in component.settings[:mask]
.
!!! ukw "Note:" By default, this EnergyFunctionComponent
does not calculate forces, as they would only be applied to the Cα Atom
instances. This setting can be re-defined in component.update_forces
.
Contact energy settings
- :d1, :d2, :d3, :d4 -> set each of the distances defining a flat-bottom potential (in Angstrom Å);
- :selection -> defines the atom selection limiting the considered atoms for the calculation;
- :mask -> defines the mask applied to the energy and forces result;
See also
ProtoSyn.Calculators.Restraints.calc_flat_bottom_restraint
ProtoSyn.Calculators.load_map
Examples
``` julia> ProtoSyn.Peptides.Calculators.Restraints.getdefaultcontactrestraint("contactmapexample.txt") Name : ContactMap Weight (α) : 1.0 Update forces : false Setings : :d4 => 12.0 :selection => FieldSelection › Atom.name = CA
:d2 => 0.0
:mask => Matrix{Float64}((73, 73)
:d1 => 0.0
:d3 => 8.0
```
Figure 1 | A diagram representation of the Contact Restraint EnergyFunctionComponent
. The applied potential is a flat bottom function, with only the upper bound having and energy penatly. The d3
and d4
settings can be customly parametrized. This energy is only calculated for pair of interacting Cα Atom
instances (in different Residue
instances, as defined the the provided AbstractSelection
and mask). The penalty scale is defined in the loaded contact map file.
Most Potential restraints employ dynamic masks, by default. This can have a detrimental effect on performance. If no design effort is being performed, consider converting the dynamic masks to static masks. See ProtoSyn.Calculators.fixate_mask!
.