Documentation

ProteinPropertiesCalculator implements ProteinPropertiesInterface

The net charge is the sum of the partial charges of the groups that carry one - the N-terminus, Lys, Arg and His (positive), the C-terminus, Asp, Glu, Cys and Tyr (negative) - each given by the Henderson-Hasselbalch equation, 1 / (1 + 10^(pH - pK)) for a base and 1 / (1 + 10^(pK - pH)) for an acid. The pK values are the caller's (bioapi serves three sets : EMBOSS, DTASelect, Solomon) : a protein has no isoelectric point of its own, only one for a given set. The isoelectric point is the pH where that charge is zero, found by bisection - the charge falls as the pH rises, always, so it crosses zero once. The terminal groups are the ones of the set, not residue-specific ones.

The GRAVY is the mean of the Kyte and Doolittle (1982) hydropathy of the residues ; the values are Biopython's (Bio.SeqUtils.ProtParamData.kd). A residue without a value (B, Z, J, X, U, O, the stop) is left out of the mean rather than counted as zero, which would pull it towards neutral. Class ProteinPropertiesCalculator

Tags
author

Amélie DUVERNET aka Amelaye amelieonline@gmail.com

Table of Contents

Interfaces

ProteinPropertiesInterface
Interface ProteinPropertiesInterface

Constants

KYTE_DOOLITTLE  : mixed = ["A" => 1.8, "R" => -4.5, "N" => -3.5, "D" => -...
Kyte and Doolittle, J Mol Biol 157:105-132 (1982)
NEGATIVE_GROUPS  : mixed = ["D", "E", "C", "Y"]
PH_MAX  : mixed = 14.0
PH_MIN  : mixed = 0.0
pH bounds of the search : every charge is positive at 0 (the N-terminus alone carries almost one) and, for a real protein, negative at 14. A protein made of some thirty Arg and no acidic residue is still slightly positive there (each Arg keeps about 0.03 at pK 12.5) : its isoelectric point is then the upper bound, 14, and not a pH the search could not reach.
POSITIVE_GROUPS  : mixed = ["K", "R", "H"]

Methods

gravy()  : float
isoelectricPoint()  : float
netCharge()  : float
assertNotEmpty()  : void
chargedGroups()  : array<string|int, int>
chargeOf()  : float
normalizePk()  : array<string|int, float>

Constants

KYTE_DOOLITTLE

Kyte and Doolittle, J Mol Biol 157:105-132 (1982)

public mixed KYTE_DOOLITTLE = ["A" => 1.8, "R" => -4.5, "N" => -3.5, "D" => -3.5, "C" => 2.5, "Q" => -3.5, "E" => -3.5, "G" => -0.4, "H" => -3.2, "I" => 4.5, "L" => 3.8, "K" => -3.9, "M" => 1.9, "F" => 2.8, "P" => -1.6, "S" => -0.8, "T" => -0.7, "W" => -0.9, "Y" => -1.3, "V" => 4.2]

PH_MIN

pH bounds of the search : every charge is positive at 0 (the N-terminus alone carries almost one) and, for a real protein, negative at 14. A protein made of some thirty Arg and no acidic residue is still slightly positive there (each Arg keeps about 0.03 at pK 12.5) : its isoelectric point is then the upper bound, 14, and not a pH the search could not reach.

private mixed PH_MIN = 0.0

Methods

isoelectricPoint()

public isoelectricPoint(AminoAcidSequence $oProtein, array<string|int, mixed> $aPk) : float
Parameters
$oProtein : AminoAcidSequence
$aPk : array<string|int, mixed>
Tags
throws
InvalidArgumentException

When the protein is empty or the pK set lacks a group

Return values
float

netCharge()

public netCharge(AminoAcidSequence $oProtein, float $fPh, array<string|int, mixed> $aPk) : float
Parameters
$oProtein : AminoAcidSequence
$fPh : float
$aPk : array<string|int, mixed>
Tags
throws
InvalidArgumentException

When the protein is empty or the pK set lacks a group

Return values
float

chargeOf()

private chargeOf(array<string|int, mixed> $aGroups, float $fPh, array<string|int, mixed> $aPk) : float
Parameters
$aGroups : array<string|int, mixed>

Group => how many of them the protein has

$fPh : float
$aPk : array<string|int, mixed>

Normalized

Return values
float

normalizePk()

private normalizePk(array<string|int, mixed> $aPk) : array<string|int, float>
Parameters
$aPk : array<string|int, mixed>
Tags
throws
InvalidArgumentException
Return values
array<string|int, float> —

The pK set with upper-case keys, every group checked

On this page

Search results