Changelog
All notable changes to protpy are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Changed
aaindexdependency version floor raised to>=1.2.0to pick up the newaaindex2andaaindex3modules,pyproject.tomlmigration, and all associated bug fixes in that release.
1.3.0 — 2026-03-31
Added
21 new composition descriptors:
gravy,aromaticity,instability_index,isoelectric_point,molecular_weight,charge_distribution,hydrophobic_polar_charged_composition,secondary_structure_propensity,kmer_composition,reduced_alphabet_composition,motif_composition,amino_acid_pair_composition,aliphatic_index,extinction_coefficient,boman_index,aggregation_propensity,hydrophobic_moment,pseudo_amino_acid_composition(moved from autocorrelation group),amphiphilic_pseudo_amino_acid_composition(moved),sequence_order_coupling_number_(single-gap variant),sequence_order_coupling_number_all,quasi_sequence_order_all.DESCRIPTORS.md— comprehensive descriptor reference covering all 35 descriptors, including parameter tables, code examples, output shapes, speed/complexity ratings, and a full References section with original citations.pyproject.toml— modern PEP 517/518 build configuration replacingsetup.pyandsetup.cfg.images/protpy.jpeg— project logo added to repository and displayed inREADME.md.CHANGELOG.md— this file.
Changed
all_descriptorslist inprotpy/__init__.pyexpanded from 14 to 35 entries.README.md— Introduction descriptor list updated to all 35 descriptors grouped by category; Usage section expanded with code examples for all 17 previously undocumented composition descriptors.tests/test_protpy.py—test_valid_descriptorsupdated to assertlen(all_descriptors) == 35and check all 35 descriptor names individually, grouped by category.pyproject.toml— version floor constraints added to core dependencies (numpy>=1.16.0,pandas>=1.1.0,varname>=0.12.0);biopythonmoved frominstall_requirestooptional-dependencies[test].Python version classifiers updated to include 3.11, 3.12, and 3.13 in both
pyproject.tomlanddocs/conf.py.requirements.txt—biopythonremoved (test-only dependency).kmer_composition— addedValueErrorguard fork > 4to prevent accidental generation of 3.2 million+ column DataFrames.docs/conf.py—releaseupdated to1.3.0.Version bumped to
1.3.0acrosspyproject.toml,protpy/__init__.py,docs/conf.py, andtests/test_protpy.py.
Removed
setup.pyandsetup.cfg— replaced bypyproject.toml..circleci/directory andconfig.yml— CircleCI pipeline removed; GitHub Actions is the sole CI/CD provider.CircleCI badge removed from
README.md.CircleCI TODO item removed from
TODO.md.
Fixed
setup.cfgtypoinstall_requies→install_requires(previously caused all cfg-declared dependencies to be silently ignored).
1.2.1 — 2023-12-13
Added
.readthedocs.yml— ReadTheDocs configuration for hosted documentation.Renamed distance matrix JSON files from
physiochemicaltophysicochemical(corrected spelling).
Changed
README.md— minor copy and link updates.protpy/__init__.py— metadata and keyword cleanup.autocorrelation.py,composition.py,ctd.py,sequence_order.py— comment and docstring corrections.deploy_pypi.ymlanddeploy_test_pypi.yml— workflow trigger and token reference updates.tests/test_protpy.py— assertion message updates.
Fixed
protpy/data/— distance matrix filenames corrected fromphysiochemicaltophysicochemicalin both JSON filenames and all internal references.
1.2.0 — 2023-11-14
Added
Full GitHub Actions CI/CD pipeline:
build_test.yml— test matrix across Python 3.11, 3.12, 3.13 with pytest-cov and Codecov upload.deploy_test_pypi.yml— automated deployment to TestPyPI after successful test run.deploy_pypi.yml— automated deployment to production PyPI after successful TestPyPI deployment.
.github/workflows/README.md— workflow documentation.MANIFEST.in— includesprotpy/data/JSON files in source distributions.protpy/data/README.md— documentation for the bundled physicochemical distance matrices.tests/README.md— documentation for the test suite.docs/— Sphinx documentation structure withconf.py,index.rst,api.rst,usage.rst,contributing.rst,Makefile, andmake.bat.ToDo.md— project task tracking file.
Changed
README.md— major expansion with full usage examples for all descriptors, requirements, installation, directory structure, and reference list.setup.py/setup.cfg— full metadata, classifiers, and dependency declarations.protpy/__init__.py—all_descriptorslist formalised (14 entries).All source modules — comprehensive docstrings, inline comments, and reference citations added.
tests/— unit test suites expanded and restructured acrosstest_composition.py,test_autocorrelation.py,test_conjoint_triad.py,test_ctd.py,test_sequence_order.py, andtest_protpy.py.
Fixed
Multiple descriptor calculation bugs across
composition.py,ctd.py,sequence_order.py, andautocorrelation.py.CTD column naming corrected (zero-padded singular columns, e.g.
_01).secondary_structproperty key name corrected (wassec_struct).SOCN/QSO column naming standardised:
SOCNUm→SOCN,QSOrder→QSO;SW/Grantsuffixes appended.Sequences uppercased on input; leading/trailing whitespace stripped.
Invalid amino acid characters now raise a
ValueErrorwith informative message.PseAAC hydrophobicity, hydrophilicity, and residue mass values hard-coded for reproducibility.
lagandweightparameter validation added to sequence order functions.
1.1.0 — 2023-04-12
Added
Expanded unit test coverage across all descriptor modules.
Additional inline comments and docstring improvements throughout all source files.
Fixed
CTD descriptor calculation corrections.
Conjoint triad descriptor bug fixes.
Pseudo amino acid composition function corrections.
Sequence order module stability improvements.
1.0.0 — 2023-02-08
Added
Initial package release.
Core descriptor modules:
composition.py—amino_acid_composition,dipeptide_composition,tripeptide_composition,pseudo_amino_acid_composition,amphiphilic_pseudo_amino_acid_composition.autocorrelation.py—moreaubroto_autocorrelation,moran_autocorrelation,geary_autocorrelation.conjoint_triad.py—conjoint_triad.ctd.py—ctd_composition,ctd_transition,ctd_distribution,ctd_.sequence_order.py—sequence_order_coupling_number,quasi_sequence_order.
protpy/__init__.py— package entry point with metadata andall_descriptorslist.protpy/data/— bundled Grantham and Schneider-Wrede physicochemical distance matrices (JSON).tests/— initial unit test suite with test FASTA data files.requirements.txt—aaindex,numpy,pandas,varname.setup.py/setup.cfg— package build and distribution configuration.README.md— initial project documentation.LICENSE— MIT licence..gitignore— Python project ignore rules.