Biological System Support
AutoFragment (v0.5+) includes specialized support for partitioning biological macromolecules like proteins and nucleic acids.
Amino Acids & Proteins
Documentation of the 20 standard amino acids, plus common variants, is built-in.
Charge Handling
AutoFragment includes a sophisticated pH-dependent charge calculation engine.
Standard Charges: Default charges for all 20 amino acids.
pH Dependency: Uses the Henderson-Hasselbalch equation to calculate partial charges at arbitrary pH values.
Example: Histidine at pH 7.4 has a partial positive charge (~+0.1).
Terminals: N- and C- termini pKa values are average-adjusted based on the residue type (e.g., Proline N-term).
PTMs: Support for Post-Translational Modifications:
Phosphorylation (SEP, TPO, PTR)
Acetylation (ALY)
Methylation (MLY, M3L)
BioPartitioner
The BioPartitioner class is enhanced to use this data:
from autofragment import BioPartitioner
# Partition with physiological charges
partitioner = BioPartitioner(pdb_file="protein.pdb", ph=7.4)
fragments = partitioner.partition()
Secondary Structure
Partitioning respects secondary structure elements if provided (HELIX/SHEET records in PDB/CIF). It avoids breaking consecutive residues within a helix or beta-sheet strand.
Nucleic Acids (DNA/RNA)
Specialized support for DNA and RNA fragmentation is provided via NucleicPartitioner.
Features
Nucleotide Data: Comprehensive definitions for DNA (dA, dT, dG, dC) and RNA (A, U, G, C) bases.
Backbone Charges: Phosphodiester backbone is assigned -1 charge per nucleotide.
Base Pairs: Can detect Watson-Crick (A-T, G-C, A-U) and Wobble (G-U) base pairs to keep paired bases in the same partition if desired.
Usage
from autofragment import NucleicPartitioner
# Partition DNA, keeping base pairs together
partitioner = NucleicPartitioner(
nucleotides_per_fragment=3,
preserve_base_pairs=True
)
Partitioning Strategies
Backbone (Default): Breaks the phosphate backbone, keeping each base attached to its sugar and phosphate.
Base Separation: separates nucleobases from the sugar-phosphate backbone (useful for specific QM studies).
Hybrid: Flexible fragmentation based on size.