This function calculates the theoretical isoelectric point of a protein. Isoelectric point is the pH at which the protein has a neutral charge. This estimate does not account for the post-translational modifications.
Protein sequence as a vector of single chars in upper case
The theoretical isoelectric point (pI) as a numerical vector of length one.
Protein pI is calculated using pK values of amino acids described in Bjellqvist et al. See also
SEQINR.UTIL for more details.
D. Charif, J.R. Lobry
The algorithm is the same as the one which is implemented at the following url:
http://www.expasy.org/tools/pi_tool-doc.html but with many trials
in case of convergence failure of the non-linear regression procedure.
1 2 3 4 5 6 7 8 9 10 11
# # Simple sanity check with all 20 amino-acids in one-letter code alphabetical order: # prot <- s2c("ACDEFGHIKLMNPQRSTVWY") stopifnot(all.equal(computePI(prot), 6.78454)) # # Read a protein sequence in a FASTA file and then compute its pI : # myProts <- read.fasta(file = system.file("sequences/seqAA.fasta", package = "seqinr"), seqtype = "AA") computePI(myProts[]) # Should be 8.534902