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_restraintFunction
get_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).

Note:

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
source

ProtoSyn CA-CA Restraint

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_restraintFunction
get_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
source

ProtoSyn Sidechain Clash Restraint

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_restraintFunction
   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

```

source

ProtoSyn Contact Restraint

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.

Note:

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