Types

The Peptides module introduces one new family of types: the Secondary Structure. In the next section, a more in depth exploration of the usage and utility of each of these types is provided:

Secondary Structure

The following types allow the maintenance of Secondary Structure information (i.e.: the psi, psi and omega backbone angles that result in any given Secondary Structure, such as an alpha helix or a beta sheet, for example). In ProtoSyn, the Secondary Structure dictionary is a collection of SecondaryStructureTemplate instances (one for each secondary structure type). These, in turn, are a colection of DihedralTemplate instances (one for the phi dihedral angle, one for the psi dihedral angle and one for the omega dihedral angle, therefore completly describing the set of dihedrals that form that particular SecondaryStructureTemplate). A DihedralTemplate is a description of a given dihedral around a "mean" value (without including "variation", methods like setss! apply this "default" value) that may optionally include a ramachandran sampler (see show_available_ramachandran_samplers). These samplers, taken from a Ramachandran map, allow a dihedral value to vary while maintaining the natural distribution observed in large databases of proteins. This section also makes available ramachandran potentials, allowing the user to evaluate how "ramachandran-like" a given dihedral angle is (see show_available_ramachandran_potentials).

ProtoSyn.Peptides.show_available_ramachandran_samplersFunction
show_available_ramachandran_samplers()

Prints all available ramachandran samplers.

See also

show_available_ramachandran_potentials()

Examples

julia> ProtoSyn.Peptides.show_available_ramachandran_samplers()
 • 8 ramachandran samplers available:
 ├── ProtoSyn.Peptides.phi_α_R_sampler
 ├── ProtoSyn.Peptides.psi_α_R_sampler
 ├── ProtoSyn.Peptides.phi_α_L_sampler
 ├── ProtoSyn.Peptides.psi_α_L_sampler
 ├── ProtoSyn.Peptides.phi_β_sampler
 ├── ProtoSyn.Peptides.psi_β_sampler
 ├── ProtoSyn.Peptides.phi_coil_sampler
 └── ProtoSyn.Peptides.psi_coil_sampler
source
ProtoSyn.Peptides.show_available_ramachandran_potentialsFunction
show_available_ramachandran_potentials()

Prints all available ramachandran potentials.

See also

show_available_ramachandran_samplers()

Examples

julia> ProtoSyn.Peptides.show_available_ramachandran_potentials()
 • 8 ramachandran potentials available:
 ├── ProtoSyn.Peptides.phi_α_R_potential
 ├── ProtoSyn.Peptides.psi_α_R_potential
 ├── ProtoSyn.Peptides.phi_α_L_potential
 ├── ProtoSyn.Peptides.psi_α_L_potential
 ├── ProtoSyn.Peptides.phi_β_potential
 ├── ProtoSyn.Peptides.psi_β_potential
 ├── ProtoSyn.Peptides.phi_coil_potential
 └── ProtoSyn.Peptides.psi_coil_potential
source
ProtoSyn.Peptides.sample_ramachandranFunction
sample_ramachandran(dnp::DiscreteNonParametric; min_prob::T = 0.0) where {T <: AbstractFloat}

Sample a dihedral angle from a DiscreteNonParametric dnp distribution. ProtoSyn makes available several ramachandran distributions (for the different backbone dihedral angles & ramachandran zones of interest). Check show_available_ramachandran_samplers for available options. min_prob defines the minimum probability for the returned dihedral angle (higher min_prob values result in more narrow distributions, closer to the ideal and mean value). Returns the dihedral angle value in radians.

Examples

julia> ProtoSyn.Peptides.sample_ramachandran(ProtoSyn.Peptides.psi_coil_sampler)
0.5934119456780721
source
ProtoSyn.Peptides.DihedralTemplateType
DihedralTemplate{T}(angle::T, [sampler::Opt{DiscreteNonParametric} = nothing]) where {T <: AbstractFloat}

A DihedralTemplate offers a template for a given dihedral type, with a mean value of angle. Optionally, this tempalte can also include a DiscreteNonParametric distribution sampler, which returns angle values with a given variation around the value ideal and mean value. This is used, for example, in methods such as setss!. Note that for standardization purposes, methods in ProtoSyn expect the angle value to be in radians. Optionally, this DihedralTemplate can have a name. This serves no programatically purpose other than differentiation between DihedralTemplate instances by the user.

See also

SecondaryStructureTemplate

Examples

julia> ProtoSyn.Peptides.SecondaryStructure[:helix].ϕ
(Dihedral Template)    Phi (ϕ):   -1.117 rad |   -64.00 deg | Sampler: ✓ Set
source
ProtoSyn.Peptides.SecondaryStructureTemplateType
SecondaryStructureTemplate{T}(ϕ::T, ψ::T, ω::T) where {T <: AbstractFloat}

Return a new SecondaryStructureTemplate with the given phi ϕ, psi ψ and omega ω backbone angles (in radians) as DihedralTemplate instances.

See also

SecondaryStructure

Examples

julia> ProtoSyn.Peptides.SecondaryStructure[:helix]
Secondary Structure Template:
 ├── (Dihedral Template)    Phi (ϕ):   -1.117 rad |   -64.00 deg | Sampler: ✓ Set
 ├── (Dihedral Template)    Psi (ψ):   -0.820 rad |   -47.00 deg | Sampler: ✓ Set
 └── (Dihedral Template)  Omega (ω):    3.142 rad |   180.00 deg | Sampler: ✖ Not set
source
ProtoSyn.Peptides.SecondaryStructureConstant
SecondaryStructure

This constant holds default values for common SecondaryStructureTemplate instances: :helix, :linear, :parallel_sheet and :antiparallel_sheet.

Examples

julia> ProtoSyn.Peptides.SecondaryStructure
Dict{Symbol, ProtoSyn.Peptides.SecondaryStructureTemplate} with 5 entries:
  :antiparallel_sheet => Secondary Structure Template:…
  :linear             => Secondary Structure Template:…
  :left_handed_helix  => Secondary Structure Template:…
  :parallel_sheet     => Secondary Structure Template:…
  :helix              => Secondary Structure Template:…
source

ProtoSyn Backbone SS

Figure 2 | The default SecondaryStructureTemplate instances in ProtoSyn, defined in the SecondaryStructure dictionary. A SecondaryStructureTemplate can be applied to a Pose, for example, using the setss! method.

MOVE THIS

ProtoSyn Chi Dihedral Atoms

Figure 1 | In ProtoSyn, peptide atoms are named according to the IUPAC and Protein Data Bank nomeculature (see the Atomic Coordinate and Bibliographic Entry Format Description - page 26). As such, in the table above, the names of the representative atoms of each chi angle are shown. These are the atoms returned by the call to the Dihedral auxiliary struct, and can be used in other functions, such as getdihedral or setdihedral!.