Provided by: libbio-perl-perl_1.7.6-3_all bug

NAME

       Bio::Tools::pICalculator - calculate the isoelectric point of a protein

DESCRIPTION

       Calculates the isoelectric point of a protein, the pH at which there is no overall charge
       on the protein. Calculates the charge on a protein at a given pH. Can use built-in sets of
       pK values or custom pK sets.

SYNOPSIS

         use Bio::Tools::pICalculator;
         use Bio::SeqIO;

         my $in = Bio::SeqIO->new( -fh => \*STDIN ,
                                   -format => 'Fasta' );

         my $calc = Bio::Tools::pICalculator->new(-places => 2,
                                                  -pKset => 'EMBOSS');

         while ( my $seq = $in->next_seq ) {
            $calc->seq($seq);
            my $iep = $calc->iep;
            print sprintf( "%s\t%s\t%.2f\n",
                           $seq->id,
                           $iep,
                           $calc->charge_at_pH($iep) );

            for( my $i = 0; $i <= 14; $i += 0.5 ){
               print sprintf( "pH = %.2f\tCharge = %.2f\n",
                              $i,
                              $calc->charge_at_pH($i) );
            }
         }

SEE ALSO

       http://fields.scripps.edu/DTASelect/20010710-pI-Algorithm.pdf
       http://emboss.sourceforge.net/apps/cvs/emboss/apps/iep.html
       http://us.expasy.org/tools/pi_tool.html

LIMITATIONS

       There are various sources for the pK values of the amino acids.  The set of pK values
       chosen will affect the pI reported.

       The charge state of each residue is assumed to be independent of the others. Protein
       modifications (such as a phosphate group) that have a charge are ignored.

FEEDBACK

   Mailing Lists
       User feedback is an integral part of the evolution of this and other Bioperl modules. Send
       your comments and suggestions preferably to one of the Bioperl mailing lists.  Your
       participation is much appreciated.

         bioperl-l@bioperl.org                  - General discussion
         http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

   Bugs
       Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their
       resolution. Bug reports can be submitted via the web:

         https://github.com/bioperl/bioperl-live/issues

AUTHOR

       Mark Southern (mark_southern@merck.com). From an algorithm by David Tabb found at
       http://fields.scripps.edu/DTASelect/20010710-pI-Algorithm.pdf.  Modification for Bioperl,
       additional documentation by Brian Osborne.

COPYRIGHT

       Copyright (c) 2002, Merck & Co. Inc. All Rights Reserved. This module is free software. It
       may be used, redistributed and/or modified under the terms of the Perl Artistic License
       (see http://www.perl.com/perl/misc/Artistic.html)

APPENDIX

       The rest of the documentation details each of the object methods.  Private methods are
       usually preceded by a _.

   desc
        Title   : new
        Usage   : Bio::Tools::pICalculator->new
        Function: Instantiates the Bio::Tools::pICalculator object
        Example : $calc = Bio::Tools::pICalculator->new( -pKset => \%pKvalues,
                                                         # a Bio::Seq object
                                                         -seq => $seq,
                                                         -places => 2 );
                  or:

                  $calc = Bio::Tools::pICalculator->new( -pKset => 'string',
                                                         # a Bio::Seq object
                                                         -seq => $seq,
                                                         -places => 1 );

                  Constructs a new pICalculator. Arguments are a flattened hash.
                  Valid, optional keys are:

                  pKset - A reference to a hash with key value pairs for the
                          pK values of the charged amino acids. Required keys
                          are:

                          N_term   C_term   K   R   H   D   E   C   Y

                  pKset - A string ( 'DTASelect' or 'EMBOSS' ) that will
                          specify an internal set of pK values to be used. The
                          default is 'EMBOSS'

                  seq - A Bio::Seq sequence object to analyze

                  places - The number of decimal places to use in the
                           isoelectric point calculation. The default is 2.

        Returns : The description
        Args    : The description or none

   seq
        Title   : seq
        Usage   : $calc->seq($seqobj)
        Function: Sets or returns the Bio::Seq used in the calculation
        Example : $seqobj = Bio::Seq->new(-seq=>"gghhhmmm",-id=>"GHM");
                  $calc = Bio::Tools::pICalculator->new;
                  $calc->seq($seqobj);
        Returns : Bio::Seq object
        Args    : Bio::Seq object or none

   pKset
        Title   : pKset
        Usage   : $pkSet = $calc->pKSet(\%pKSet)
        Function: Sets or returns the hash of pK values used in the calculation
        Example : $calc->pKset('emboss')
        Returns : reference to pKset hash
        Args    : The reference to a pKset hash, a string, or none. Examples:

                  pKset - A reference to a hash with key value pairs for the
                          pK values of the charged amino acids. Required keys
                          are:

                          N_term   C_term   K   R   H   D   E   C   Y

                  pKset - A valid string ( 'DTASelect' or 'EMBOSS' ) that will
                          specify an internal set of pK values to be used. The
                          default is 'EMBOSS'

   iep
        Title   : iep
        Usage   : $calc->iep
        Function: Returns the isoelectric point
        Example : $calc = Bio::Tools::pICalculator->new(-places => 2);
                  $calc->seq($seqobj);
                  $iep = $calc->iep;
        Returns : The isoelectric point of the sequence in the Bio::Seq object
        Args    : None

   charge_at_pH
        Title   : charge_at_pH
        Usage   : $charge = $calc->charge_at_pH($pH)
        Function: Sets or gets the description of the sequence
        Example : $calc = Bio::Tools::pICalculator->new(-places => 2);
                  $calc->seq($seqobj);
                  $charge = $calc->charge_at_ph("7");
        Returns : The predicted charge at the given pH
        Args    : pH