A Python package for peptide sequence analysis built around ProForma 2.1 notation. Calculate masses, generate fragments, predict isotopic patterns, and more. Peptacular uses type annotations extensively, so it is type safe.
- Nearly Complete ProForma 2.1 Parsing
- Modifiable ProFormaAnnotaion Objects (Factory Pattern)
- Mass/Mz/Composition Calculations
- Predicted Isotopic Distributions
- Enzymatic Protein Digestion
- Fragment Ion Generation
- Physiochemical Property Calculations
- Built-in Parallel Processing
pip install peptacularSee docs for more detail.
import peptacular as pt
# Parse a sequence into a ProFormaAnnotation
peptide: pt.ProFormaAnnotation = pt.parse("PEM[Oxidation]TIDE")
# Calculate mass and m/z
mass: float = peptide.mass() # 849.342
mz: float = peptide.mz(charge=2) # 425.678
# Factory pattern
print(peptide.set_charge(2).set_peptide_name("Peptacular").serialize())
# (>Peptacular)PEM[Oxidation]TIDE/2When more than one item is passed to the functional API methods, it is automatically parallelized.
import peptacular as pt
peptides = ['[Acetyl]-PEPTIDES', '<C13>ARE', 'SICK/2']
# Calculate mass and m/z for all peptides
masses: list[float] = pt.mass(peptides) # [928.4026, 374.1914, 451.2454]
mzs: list[float] = pt.mz(peptides, charge=2) # [465.2086, 188.103, 225.6227]See PROFORMA_COMPLIANCE.md for detailed compliance status.
Contributions welcome! Check the examples directory for code style and documentation patterns.
MIT
Working on a JOSS submission, but in the meantime use: