Preprocessing

Hydrogen bond prediction

BiochemicalAlgorithms.predict_hbonds!Function
predict_hbonds!(
    ac::AbstractAtomContainer,
    method::Symbol
) -> Any
predict_hbonds!(
    ac::AbstractAtomContainer,
    method::Symbol,
    h_bond_from_donor::Bool
) -> Any

Predict hydrogen bonds for a given AtomContainer.

The method parameter selects one of the implemented strategies for H-bond prediction. Bonds can be created between the donor and acceptor atoms (e.g., N and O), which is the default, or between the hydrogen and the acceptor (e.g., H and O). This behaviour is controlled by the h_bond_from_donor-switch.

Available methods

  • :KABSCH_SANDER: only predicts protein backbone hydrogen bonds as required for secondary structure prediction with the Kabsch-Sander algorithm DSSP (Kabsch W & Sander C (1983). Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers, 22, 2577-2637".)

  • :WISHART_ET_AL: predicts hydrogen bonds between amid and α-hydrogens (H/HA) and carbonyl oxygens in the backbone (O) or sidechain oxygens (OD, OE, OG, OH). This method follows the criterion given in (Neal, S., Nip, A. M., Zhang, H., and Wishart, D. S. (2003). Rapid and accurate calculation of protein 1H, 13C and 15N chemical shifts. J Biomol NMR, 26(3):215-240.

Example

predict_hbonds!(sys, :WISHART_ET_AL)
source
BiochemicalAlgorithms.backbone_hydrogen_bondsFunction
backbone_hydrogen_bonds(ac::AbstractAtomContainer) -> Any

Return all backbone hydrogen bonds in the given atom container.

The criterion for a hydrogen bond to be a backbone bond is as follows:

  • the bond connects a donor nitrogen or hydrogen with the name "N" or "H" with an oxygen named "O"
  • the bond connects atoms in two different fragments

Example

backbone_hydrogen_bonds(sys)
source

Secondary structure prediction

BiochemicalAlgorithms.predict_secondary_structure!Function
predict_secondary_structure!(
    ac::AbstractAtomContainer
) -> String

Predict secondary structure from 3D structure for a given AtomContainer.

The implementation follows the DSSP algorithm described in "Kabsch W & Sander C (1983). Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers, 22, 2577-2637."

When applied to a protein, it removes the instances of SecondaryStructure from the protein, predicts the secondary structure elements based (mostly) on H-bond patterns and backbone torsions and reinserts the appropriate secondary structure elements at the predicted positions.

A previous H-Bond prediction for the backbone is needed, as implemented in the KABSCHSANDER variant of the predicthbonds! - method

Example:

fdb = FragmentDB()
normalize_names!(sys, fdb)
reconstruct_fragments!(sys, fdb)
build_bonds!(sys, fdb)
predict_hbonds!(sys, :KABSCH_SANDER)
predict_secondary_structure!(sys)
source