Bio.SeqUtils.IsoelectricPoint module

Calculate isoelectric points of polypeptides using methods of Bjellqvist.

pK values and the methos are taken from:

* Bjellqvist, B.,Hughes, G.J., Pasquali, Ch., Paquet, N., Ravier, F.,
Sanchez, J.-Ch., Frutiger, S. & Hochstrasser, D.F.
The focusing positions of polypeptides in immobilized pH gradients can be
predicted from their amino acid sequences. Electrophoresis 1993, 14,

* Bjellqvist, B., Basse, B., Olsen, E. and Celis, J.E.
Reference points for comparisons of two-dimensional maps of proteins from
different human cell types defined in a pH scale where isoelectric points
correlate with polypeptide compositions. Electrophoresis 1994, 15, 529-539.

I designed the algorithm according to a note by David L. Tabb, available at:

class Bio.SeqUtils.IsoelectricPoint.IsoelectricPoint(protein_sequence, aa_content=None)

Bases: object

A class for calculating the IEP or charge at given pH of a protein.

:protein_sequence: A ``Bio.Seq`` or string object containing a protein


:aa_content: A dictionary with amino acid letters as keys and it’s

occurences as integers, e.g. {"A": 3, "C": 0, ...}. Default: None. If None, the dic will be calculated from the given sequence.


The methods of this class can either be accessed from the class itself or from a ProtParam.ProteinAnalysis object (with partially different names):

>>> from Bio.SeqUtils.IsoelectricPoint import IsoelectricPoint as IP
>>> protein = IP("INGAR")
>>> print("IEP of peptide {} is {:.2f}"
...       .format(protein.sequence, protein.pi()))
IEP of peptide INGAR is 9.75
>>> print("It's charge at pH 7 is {:.2f}"
...       .format(protein.charge_at_pH(7.0)))
It's charge at pH 7 is 0.76
>>> from Bio.SeqUtils.ProtParam import ProteinAnalysis as PA
>>> protein = PA("PETER")
>>> print("IEP of {}: {:.2f}".format(protein.sequence,
...                                  protein.isoelectric_point()))
IEP of PETER: 4.53
>>> print("Charge at pH 4.53: {:.2f}"
...       .format(protein.charge_at_pH(4.53)))
Charge at pH 4.53: 0.00


:charge_at_pH(pH): Calculates the charge of the protein for a given pH

:pi(): Calculates the isoelectric point

__init__(self, protein_sequence, aa_content=None)

Initialize the class.

charge_at_pH(self, pH)

Calculate the charge of a protein at given pH.


Calculate and return the isoelectric point as float.