Skip to content

Add option to ignore N-/C-terminus effects in isoelectric point calculation#5022

Open
FriedLabJHU wants to merge 1 commit intobiopython:masterfrom
FriedLabJHU:patch-1
Open

Add option to ignore N-/C-terminus effects in isoelectric point calculation#5022
FriedLabJHU wants to merge 1 commit intobiopython:masterfrom
FriedLabJHU:patch-1

Conversation

@FriedLabJHU
Copy link

@FriedLabJHU FriedLabJHU commented Jun 27, 2025

  • [ X] I hereby agree to dual licence this and any previous contributions under both
    the Biopython License Agreement AND the BSD 3-Clause License.

  • [ X] I have read the CONTRIBUTING.rst file, have run pre-commit
    locally, and understand that continuous integration checks will be used to
    confirm the Biopython unit tests and style checks pass with these changes.

  • I have added my name to the alphabetical contributors listings in the files
    NEWS.rst and CONTRIB.rst as part of this pull request, am listed
    already, or do not wish to be listed. (This acknowledgement is optional.)

This update introduces a new ignore_termini parameter to the IsoelectricPoint class, allowing users to exclude the N-terminus, C-terminus, or both from isoelectric point (pI) and charge calculations.

Key Changes:
Added ignore_termini argument to IsoelectricPoint.init, which accepts:

"Nterm" – excludes N-terminal charge and pK contribution

"Cterm" – excludes C-terminal charge and pK contribution

"both" – excludes both N- and C-terminal contributions

Purpose:
In many use cases (e.g., peptide segments derived from a larger protein), the termini of a fragment may not be chemically exposed and therefore do not contribute to the molecule’s charge in physiological contexts. This enhancement enables more biologically realistic pI calculations for internal peptide fragments by omitting artificial terminal effects.

Additionally, it allows for flexible modeling of peptides with only one exposed terminus, such as C-terminal peptides (ignore Nterm) or N-terminal peptides (ignore Cterm), which is useful in proteomics applications and fragment-based analyses.

…lation

This update introduces a new ignore_termini parameter to the IsoelectricPoint class, allowing users to exclude the N-terminus, C-terminus, or both from isoelectric point (pI) and charge calculations.

Key Changes:
Added ignore_termini argument to IsoelectricPoint.__init__, which accepts:

"Nterm" – excludes N-terminal charge and pK contribution

"Cterm" – excludes C-terminal charge and pK contribution

"both" – excludes both N- and C-terminal contributions

Purpose:
In many use cases (e.g., peptide segments derived from a larger protein), the termini of a fragment may not be chemically exposed and therefore do not contribute to the molecule’s charge in physiological contexts. This enhancement enables more biologically realistic pI calculations for internal peptide fragments by omitting artificial terminal effects.

Additionally, it allows for flexible modeling of peptides with only one exposed terminus, such as C-terminal peptides (ignore Nterm) or N-terminal peptides (ignore Cterm), which is useful in proteomics applications and fragment-based analyses.
@peterjc
Copy link
Member

peterjc commented Jun 29, 2025

I thought there might be a similar option in one of the existing Bio.SeqUtils functions, but I can't immediately find it. If there is, consistent naming would be nice.

@FriedLabJHU
Copy link
Author

@peterjc as far as I am aware, there aren't any other functions that explicitly ignore the protein termini (other than by indexing). If there is an existing option meant for ignoring termini, then I will change this PR to match that naming.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants