State

This section lists functions that work on the system State, as expansions to the Core methods (See State). Making use of the Secondary Structure types (in specific, the SecondaryStructureTemplate instance), the setss! method allows a user to quickly apply a given Secondary Structure to a Pose or a subset of selected Residue instances.

ProtoSyn.Peptides.setss!Function
setss!(state::State, ss::SecondaryStructureTemplate{T}, residues::Vector{Residue}; [include_variation::Bool = false], [min_prob::T = 0.0]) where {T <: AbstractFloat}

Set the phi ϕ, psi ψ and omega ω backbone angles of all Residue instances in the given residues vector to match the provided SecondaryStructureTemplate. This function acts on the internal coordinates and does not update cartesian coordinates (using the sync! method), although a request for conversion is made (by calling the request_i2c!). If include_variation is set to true (false, by default), the phi ϕ, psi ψ and omega ω backbone angles are sampled from each distribution, instead of using the ideal angle. min_prob defines the minimum probability of the sampled angle (from 0.0 to 1.0). Using higher min_prob values results in variations conformationally closer to the ideal dihedral angle values.

setss!(pose::Pose, ss::SecondaryStructureTemplate; [include_variation::Bool = false], [min_prob::T = 0.0])
setss!(pose::Pose, ss::SecondaryStructureTemplate, sele::ProtoSyn.AbstractSelection; [include_variation::Bool = false], [min_prob::T = 0.0])
setss!(pose::Pose, ss::SecondaryStructureTemplate, residue::Residue; [include_variation::Bool = false], [min_prob::T = 0.0])

Set the phi ϕ, psi ψ and omega ω backbone angles of all Residue instances in the given Pose pose to match the provided SecondaryStructureTemplate. If an optional AbstractSelection sele is provided, apply the transformation only to the selected Residue instances. Optionally, a single Residue instance can also be provided: any changes will only apply to the selected Residue instance.

See also

SecondaryStructure

Examples

julia> ProtoSyn.Peptides.setss!(pose, ProtoSyn.Peptides.SecondaryStructure[:helix])
State{Float64}:
 Size: 343
 i2c: true | c2i: false
 Energy: Dict(:Total => Inf)
source
ProtoSyn.Peptides.read_ss_mapFunction
read_ss_map(pose::Pose, filename::String, ss_type::String)

Reads a SecondaryStructure map from filename into an AbstractSelection of Residue instances marked with the desired ss_type in the map. The map is checked against the given Pose for compatibility (number of Residue instances, etc). The expected map format follows the DeepConCNF_SS3 format (3-mode categorization), as given by RaptorX prediction server.

Examples

julia> ProtoSyn.Peptides.read_ss_map("ss_map.txt", "H")
 (...)
source
ProtoSyn.Peptides.categorize_ss_from_dihedral_anglesFunction
categorize_ss_from_dihedral_angles(pose::Pose, [selection::Opt{ProtoSyn.AbstractSelection} = nothing]; [blur_amount::T = 0.5]) where {T <: AbstractFloat}

This method attempts to categorize the given Pose pose Residue instances in a 3-mode categorization format: "H" for helix, "E" for beta sheets and "C" for coils. The categorization takes into account:

  • Geometrical criteria: accordance of the current phi ϕ, psi ψ and omega ω backbone angles to known potentials. Make sure the Pose pose is synched (see sync!);
  • Hydrogen bonding pattern: counts hydrogen bonds using generate_hydrogen_bond_network. Make sure the Pose pose has charges (see assign_default_charges!);
  • Flanking Residue secondary structure: flanking Residue's secondary structure "spills" over and influences neighboring Residue instances. The influence amount can be set with blur_amount (0.5, by default);
  • Terminal Residue instances: Terminal Residue instances tend to adopt coil conformations.
Note:

In ProtoSyn 1.1, this method offers notoriously sub-par predictions. Using external tools such as DSSP or RaptorX secondary structure prediction server is recommended.

Examples

julia> ProtoSyn.Peptides.categorize_ss_from_dihedral_angles(pose)
"CHHHHHHHHHHHHHHHHHHHCCCHHHHHHHHHHHHHHHHHHHHHHCCCHHHHHHHHHHHHHHHHHHHHHHHHC"
source