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_samplers
— Functionshow_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
ProtoSyn.Peptides.show_available_ramachandran_potentials
— Functionshow_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
ProtoSyn.Peptides.sample_ramachandran
— Functionsample_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
ProtoSyn.Peptides.DihedralTemplate
— TypeDihedralTemplate{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
Examples
julia> ProtoSyn.Peptides.SecondaryStructure[:helix].ϕ
(Dihedral Template) Phi (ϕ): -1.117 rad | -64.00 deg | Sampler: ✓ Set
ProtoSyn.Peptides.SecondaryStructureTemplate
— TypeSecondaryStructureTemplate{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
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
ProtoSyn.Peptides.SecondaryStructure
— ConstantSecondaryStructure
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:…
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
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!
.