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

  • aaindex dependency version floor raised to >=1.2.0 to pick up the new aaindex2 and aaindex3 modules, pyproject.toml migration, 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 replacing setup.py and setup.cfg.

  • images/protpy.jpeg — project logo added to repository and displayed in README.md.

  • CHANGELOG.md — this file.

Changed

  • all_descriptors list in protpy/__init__.py expanded 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.pytest_valid_descriptors updated to assert len(all_descriptors) == 35 and 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); biopython moved from install_requires to optional-dependencies[test].

  • Python version classifiers updated to include 3.11, 3.12, and 3.13 in both pyproject.toml and docs/conf.py.

  • requirements.txtbiopython removed (test-only dependency).

  • kmer_composition — added ValueError guard for k > 4 to prevent accidental generation of 3.2 million+ column DataFrames.

  • docs/conf.pyrelease updated to 1.3.0.

  • Version bumped to 1.3.0 across pyproject.toml, protpy/__init__.py, docs/conf.py, and tests/test_protpy.py.

Removed

  • setup.py and setup.cfg — replaced by pyproject.toml.

  • .circleci/ directory and config.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.cfg typo install_requiesinstall_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 physiochemical to physicochemical (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.yml and deploy_test_pypi.yml — workflow trigger and token reference updates.

  • tests/test_protpy.py — assertion message updates.

Fixed

  • protpy/data/ — distance matrix filenames corrected from physiochemical to physicochemical in 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 — includes protpy/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 with conf.py, index.rst, api.rst, usage.rst, contributing.rst, Makefile, and make.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__.pyall_descriptors list formalised (14 entries).

  • All source modules — comprehensive docstrings, inline comments, and reference citations added.

  • tests/ — unit test suites expanded and restructured across test_composition.py, test_autocorrelation.py, test_conjoint_triad.py, test_ctd.py, test_sequence_order.py, and test_protpy.py.

Fixed

  • Multiple descriptor calculation bugs across composition.py, ctd.py, sequence_order.py, and autocorrelation.py.

  • CTD column naming corrected (zero-padded singular columns, e.g. _01).

  • secondary_struct property key name corrected (was sec_struct).

  • SOCN/QSO column naming standardised: SOCNUmSOCN, QSOrderQSO; SW/Grant suffixes appended.

  • Sequences uppercased on input; leading/trailing whitespace stripped.

  • Invalid amino acid characters now raise a ValueError with informative message.

  • PseAAC hydrophobicity, hydrophilicity, and residue mass values hard-coded for reproducibility.

  • lag and weight parameter 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.pyamino_acid_composition, dipeptide_composition, tripeptide_composition, pseudo_amino_acid_composition, amphiphilic_pseudo_amino_acid_composition.

    • autocorrelation.pymoreaubroto_autocorrelation, moran_autocorrelation, geary_autocorrelation.

    • conjoint_triad.pyconjoint_triad.

    • ctd.pyctd_composition, ctd_transition, ctd_distribution, ctd_.

    • sequence_order.pysequence_order_coupling_number, quasi_sequence_order.

  • protpy/__init__.py — package entry point with metadata and all_descriptors list.

  • protpy/data/ — bundled Grantham and Schneider-Wrede physicochemical distance matrices (JSON).

  • tests/ — initial unit test suite with test FASTA data files.

  • requirements.txtaaindex, 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.