Skip to content

Releases: Bio2Byte/constava

Official release v1.2.0

04 Feb 13:29
99db5ae

Choose a tag to compare

Official release for v1.2.0

View it on PyPI | Read about it on Zenodo

What's new ?

For full details please review the Pull Request #3.

Changed

  • Reworked the core calculation logic to significantly improve performance by parallelizing residue processing.
  • The calculator class now iterates over residues using a ProcessPoolExecutor, taking advantage of multi-core hardware.
  • Added a new indent_size parameter to control JSON output indentation.
    Defaults to 0 to preserve backward compatibility.
  • Project Metadata and Manifest simplified and up-to-date.

Fixed

  • Issue where the bandwidth parameter was ignored due to a hardcoded value (it always was 0.13).
  • Typos and spelling corrections throughout the codebase.

Added

Testing

To double-check that results are exactly the same than previous version, except the expected changes due to variable/probabilistic aspects of the algorithms, a comparison has been performed using six entries from the "Atlas of proTein moLecular dynAmicS". These testing experiments have been possible thanks to Heli García-Álvarez collaboration.

Verification of identical results

Comparing the same results columns between the output file generated by v1.1.0 and v.1.2.0:

per_file_identity_by_family

Verification of acceptable results

In this case, a threshold of a delta less than 0.01 has been used:

per_file_acceptable_by_family

Furthermore, when using a stricter threshold of 0.001:

per_file_acceptable_by_family

Performance

To validate the improvements in terms of prediction speed, a benchmark study has been executed to compare the wall times of 30 executions of v1.1.0 and v1.2.0. The hardware that hosted the tests was:

OS / Runtime
  OS            : Darwin 25.2.0
  Platform      : macOS-26.2-arm64-arm-64bit
  Architecture  : arm64
  Python        : 3.10.19 (main, Oct 21 2025, 16:37:10) [Clang 20.1.8 ]

CPU
  CPU model     : Apple M2 Pro
  Physical cores: 10
  Logical cores : 10

Memory
  Total RAM     : 32.00 GiB

Results

The following results consider the wall time (real_sec value) provided by command-tool time. This is the time measured by a literal stopwatch on the wall. Start the program, stop the program:

  • CPU computation
  • Waiting on disk I/O
  • Waiting on memory
  • Waiting on the OS scheduler
  • Waiting because another process stole the CPU

If a user is waiting for the program to finish, this is the time they experience.

Statistics

Per-environment summary of the wall times (real_sec):

Version Runs (n) Median (s) Mean (s) P95 (s)
v1.1.0 30 129.995 130.687 134.666
v1.2.0 30 23.855 25.007 26.423

Speed-up: 5.449× (improvement: 81.65%)

Plots

timings_real_per_run timings_real_hist timings_real_boxplot

Pre-release v1.2.0b1

28 Jan 16:44

Choose a tag to compare

Pre-release v1.2.0b1 Pre-release
Pre-release

Proposal for v1.2.0

View it on PyPI

Changed

  • Reworked the core calculation logic to significantly improve performance by parallelizing residue processing.
  • The calculator class now iterates over residues using a ProcessPoolExecutor, taking advantage of multi-core hardware.
  • Added a new indent_size parameter to control JSON output indentation.
    Defaults to 0 to preserve backward compatibility.
  • Project Metadata and Manifest simplified and up-to-date.

Fixed

  • Fixed an issue where the bandwidth parameter was ignored due to a hardcoded value (0.13).

Added

  • Added support for Python 3.14.
  • Minor typo and spelling corrections throughout the codebase.
  • Authors and citation files

v1.1.0

09 Jul 11:17
b449226

Choose a tag to compare

Added Features:

  • Improving unit tests
  • constava test command that runs tests

v1.0.0

12 Feb 11:07

Choose a tag to compare

The original version of the constava package used in the preprint:

Gavalda-Garcia,J., Bickel,D., Roca-Martinez,J., Raimondi,D., Orlando,G. and Vranken,W. (2023) Data-driven probabilistic definition of the low energy conformational states of protein residues. bioRxiv, 10.1101/2023.07.24.550386.