Simplified in-silico protein cutting
Modeling protein hydrolysis and release of peptides by endoproteases requires complex simulations, typically taking into account the 3D structure of both the enzymes and the target protein. Such structures can sometimes be difficult to predict starting from the protein's acido-aminic sequence.
This repository contains the code for an alternative approach, published in Tonda et al. (2017), In silico modeling of protein hydrolysis by endoproteases: a case study on pepsin digestion of bovine lactoferrin, Food & Function, Vol. 8, Issue 12, DOI: 10.1039/C7FO00830A. The idea is to just consider the linear sequence of amino-acids, and then simulate the behavior of an enzyme starting from the frequency of cuts observed during previous experiments. The final peptides obtained by the simulation are qualitatively coherent with real-world experiments, even though the exact absolute quantities might be different.
If you use this software in your publications, please cite the paper (see Citation below).
What is this software?
In a nutshell, this software simulates the action of an enzyme on several copies of a protein (protein structure given in input). The model is not specific to any one enzyme: it works for any endoprotease, as long as cleavage frequency data is available for it. The enzyme's behavior is considered stochastic, and during the simulation it will cut bonds with a certain probability, depending on the amino-acids to the left and right of a bond (positions P4, P3, P2, P1, P1', P2', P3', P4'). The sample configuration shipped with this repository models pepsin, using probabilities computed from analyses performed by Hamuro et al., 2008 and Powers et al., 1977.
Most people will want the Python package, described next. The C++ core, CLI, and file formats behind it are documented further down, in C++ core.
Python package
The C++ core is available from Python as the seqcleave package: pybind11 bindings over the same core used by the CLI, built with scikit-build-core so a normal pip install compiles everything automatically — no separate C++ build step, and no dependency on CMake or a compiler once installed.
pip install .
(run from the repository root; not yet published on PyPI).
import seqcleave
# high-level: JSON file or dict in, a pandas.DataFrame out (same columns as the CSV described
# in "Output format" below)
df = seqcleave.simulate("data/lactoferrin.json")
# optionally, also write the CSV file, same as the CLI's --output
df = seqcleave.simulate("data/lactoferrin.json", output="statistics.csv")
Don't have a configuration handy? The bovine lactoferrin / pepsin case study from the paper ships with the package, in three forms — a ready-to-run combination, and its two halves separately (useful, for example, to try pepsin's published cleavage data against a protein of your own):
df = seqcleave.simulate(seqcleave.example_config()) # ready to run as-is
seqcleave.lactoferrin_protein() # -> just the "proteins" entry (sequence, disulfideBonds, quantity)
seqcleave.pepsin_cuts() # -> just the enzyme data ("cuts", "alterations", "terminalAlterations")
# e.g. pepsin's cleavage data against a different protein:
config = {
"parameters": {"maxDH": 0.1},
"proteins": [{"sequence": "your own sequence here", "quantity": 100}],
**seqcleave.pepsin_cuts(),
}
See Configuration format (JSON) below for the full schema simulate() accepts (as a dict or a file path).
For full control, use the lower-level EndoproteaseModel class directly — a near 1-to-1 binding of the C++ class, with plain read/write attributes for every simulation parameter:
from seqcleave import EndoproteaseModel
import pandas as pd
model = EndoproteaseModel()
model.read_json("data/lactoferrin.json") # or model.read_config({...}) for a native dict
model.max_dh = 0.05
model.run()
df = pd.DataFrame(model.compute_time_series())
Logging goes through the standard logging module, under the name "seqcleave". Verbosity is controlled with seqcleave.set_log_level(...) rather than logging.getLogger("seqcleave").setLevel(...) directly: the native core uses its own log level as a performance gate (deciding whether to even format a message), so the two have to stay in sync, and set_log_level() does that in one call.
seqcleave.set_log_level("debug")
Running the tests
pip install -e ".[test]"
pytest
The suite (tests/) covers the Python bindings and the simulate()/EndoproteaseModel API: a fixed-seed regression check (meaningful and portable across platforms, since the random engine is std::mt19937, a standardized algorithm), a mass-balance invariant (every cut turns one peptide into two, so the total peptide count must always equal the original quantity plus the number of cuts so far — true for any config or seed), and error handling for malformed input.
Configuration format (JSON)
Simulations — whether run through the Python package or the CLI — are configured entirely from a JSON file or dict, no need to modify the source code to change the protein(s), probabilities, or simulation parameters. Comments (// and /* */) are supported by the loader and stripped before parsing, so configuration files can be annotated just like code; data/lactoferrin.json is heavily commented and is the best starting point for writing your own.
The file has four top-level sections:
parameters: simulation-wide settings —randomSeed(nullfor a time-based seed),maxTime(max iterations),maxDH(stop once this degree of hydrolysis is reached),maxAttemptsPerTime,maxAttempts(stop after this many consecutive failed cut attempts), and the experimentalinitialEnzyme/enzymeAlwaysDying/enzymeDyingRatio(enzyme activity decaying over time).proteins: an array of proteins to simulate, each with aname, aquantity(number of copies), asequence(the amino-acid chain), anddisulfideBonds(1-indexed positions the enzyme finds harder to cut — not all of them are strictly disulfide bonds, some are glycosylations).cuts: base probability of cutting a bond, keyed by the amino-acid to the left (P1) and right (P1') of the bond, e.g."cuts": { "f": { "y": 0.65, "f": 0.85, ... }, ... }. Bonds not listed default to probability 0.alterations/terminalAlterations: position-dependent adjustments to the base probability for amino-acids found further away from the bond (P2-P4 / P2'-P4'), and multipliers applied near either end of a peptide chain.
Until 2026, configuration files were XML, parsed with the tinyxml library; the format was switched to JSON (parsed with nlohmann/json) for easier editing and future Python bindings. The original sample file, data/lactoferrin.xml, is kept in the repository as a historical reference — it is no longer read by the code. The one-off script used for the conversion, scripts/xml_to_json.py, is kept for reference in case other old XML configuration files need migrating.
Output format
Both the CLI and seqcleave.simulate() produce the same tabular result — a CSV file (statistics.csv by default) or, in Python, a pandas.DataFrame — tracking the quantity of each peptide over the course of the simulation. Columns are time (iteration count), time2 (number of cuts so far), enzyme (currently always 1.0, reserved for future developments), followed by one column per distinct peptide produced during the simulation, in alphabetical order. Each row gives the count of each peptide at that point in the simulation. The full CSV is usually large (~70 MB for the lactoferrin example); extracting meaningful information from it typically requires a separate analysis script rather than manual inspection.
C++ core
The Python package wraps a C++ core, which can also be built and run standalone as a CLI. This section is for building from source or working on the C++ code directly — most users won't need it.
Repository structure
data/ sample input (lactoferrin.json), a small test script, and a
scaled-down variant used for quick smoke tests / CI
scripts/ utility scripts (e.g. the old XML -> JSON converter)
cpp/ C++ source code: the core, the CLI, and the pybind11 bindings
cpp/thirdparty/ vendored dependencies (nlohmann/json, spdlog, pybind11_json)
src/seqcleave/ the Python package (pure-Python wrapper; the compiled
extension lands here too once built, see "Python package" above)
tests/ pytest suite for the Python package (see "Running the tests" above)
pyproject.toml Python packaging config (scikit-build-core)
The original code is in C++, and is contained in the cpp/ subfolder. A Python package (seqcleave) wrapping it via pybind11 lives in src/seqcleave/ (a "src-layout" Python package, following the convention expected by Python's packaging tools — not to be confused with cpp/, which holds the C++ sources).
Building the C++ code
You will need CMake (3.15+) and a C++17 compiler. The code has no external dependencies to install: nlohmann/json (JSON parsing) and spdlog (logging) are vendored, header-only, directly in cpp/thirdparty/, so no network access or package manager is required at build time.
cd cpp
mkdir build && cd build
cmake ..
cmake --build .
This produces an executable called protein-cutting (protein-cutting.exe on Windows) in the build directory. Any generator CMake supports should work (Unix Makefiles, Ninja, Visual Studio, ...); on Windows with MinGW/Ninja, for example: cmake -G Ninja ...
The code should be cross-compiling on any platform with ISO C++ and CMake support (tested on Ubuntu 14.04/16.04 originally, and on Windows with MinGW-w64).
Running a simulation (CLI)
To run a simulation, you need a JSON file describing the protein(s) and the cut probabilities (see Configuration format above). A sample file, data/lactoferrin.json, is provided: it contains the structure of bovine lactoferrin and simulates cutting 500 copies of the protein, using probabilities taken from Hamuro et al., 2008 and Powers et al., 1977 (see above for the DOIs).
./protein-cutting --input lactoferrin.json
This can take a while (minutes to tens of minutes, depending on your hardware and on the quantity of proteins simulated), and writing the final result to disk can itself take a long time — don't quit at that point.
| Argument | Description |
|---|---|
--input <file.json> |
Required. The JSON configuration file describing the simulation. |
--output <file.csv> |
Where to write the results. Default: statistics.csv. |
--verbose |
Prints debug-level detail to the console (shorthand for --log-level debug). |
--log-level <level> |
Sets the console log level explicitly: trace, debug, info, warn, error, or off. Default: info. |
--log-file <file.log> |
Additionally writes a full trace-level debug log to the given file. No file is ever written unless this is explicitly given. |
By default the program only prints progress/warning/error messages to the console (info level) — no per-position debug trace, which used to flood the console/log files in earlier versions of this code.
Project status / roadmap
- ✅ Configuration format switched from XML to JSON.
- ✅ Logging rewritten (leveled, quiet by default, opt-in file output) in preparation for reuse from other languages.
- ✅ Model and parameter names generalized (
EndoproteaseModel,enzyme*fields) — the simulation was never pepsin-specific, and now neither is its naming. - ✅ Repository reorganized (
cpp/for the C++ core,src/seqcleave/for the Python package). - ✅ pybind11 bindings, a
simulate()convenience API, and a workingpip install .(via scikit-build-core). - ✅ A
pytestsuite (tests/) covering the Python API, a fixed-seed regression check, and a seed-independent structural invariant. - ✅ CI (
.github/workflows/ci.yml): builds the CLI and runs the pytest suite on Linux, macOS, and Windows on every push/PR. - ⏳ Planned: publish
seqcleaveon PyPI, with prebuilt wheels (viacibuildwheel) for the common platforms.
Citation
If you use this software in your publications, please cite:
Tonda, Alberto and Grosvenor, Anita J and Clerens, Stefan and Le Feunteun, Steven, "In silico modeling of protein hydrolysis by endoproteases: a case study on pepsin digestion of bovine lactoferrin", Food & Function, 2017, DOI: 10.1039/C7FO00830A
BibTeX
@article{tonda2017insilico,
author = {Tonda, Alberto and Grosvenor, Anita and Clerens, Stefan and Le Feunteun, Steven},
title = {In silico modeling of protein hydrolysis by endoproteases: a case study on pepsin digestion of bovine lactoferrin},
journal = {Food \& Function},
volume = {8},
number = {12},
pages = {4404-4413},
year = {2017},
month = {12},
abstract = {This paper presents a novel model of protein hydrolysis and release of peptides by endoproteases. It requires the amino-acid sequence of the protein substrate to run, and makes use of simple Monte-Carlo in silico simulations to qualitatively and quantitatively predict the peptides that are likely to be produced during the course of the proteolytic reaction. In the present study, the model is applied to the case of pepsin, the gastric protease. Unlike pancreatic proteases, pepsin has a low substrate specificity and therefore displays a stochastic behavior that is particularly challenging to model and predict. Two versions of the model are studied and compared with peptidomic data obtained during pepsin hydrolysis of bovine lactoferrin. The first version of the model takes into account cleavage probabilities according to the amino acids in position P1–P1′ only, whereas the second version also accounts for the influence of neighbor amino acids (P4, P3, P2, P2′, P3′, P4′) and peptide terminal ends. The second version of the model was able to reproduce many real-world features of the reported behavior of pepsin, such as the peptide size distribution, or the quantity of free amino-acids. More remarkably, 50\% of the experimentally monitored peptides (44/87) lay within the 120 most abundant simulated peptides. The presented methodology has the advantage of being applicable not only to different proteins, but to different enzymes as well, as long as cleavage frequency data are available.},
issn = {2042-6496},
doi = {10.1039/c7fo00830a},
url = {https://doi.org/10.1039/c7fo00830a},
eprint = {https://pubs.rsc.org/fo/article-pdf/8/12/4404/5512608/c7fo00830a.pdf},
}
License
Copyright (c) 2017, Alberto Tonda <alberto.tonda@gmail.com>
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
nlohmann/json (vendored in cpp/thirdparty/nlohmann/) is authored by Niels Lohmann and distributed under the MIT license. spdlog (vendored in cpp/thirdparty/spdlog/) is authored by Gabi Melman and distributed under the MIT license. pybind11_json (vendored in cpp/thirdparty/pybind11_json/) is authored by Martin Renou and distributed under the BSD 3-Clause license. pybind11 itself and scikit-build-core are build-time-only dependencies (not vendored, resolved automatically by pip from pyproject.toml), both distributed under permissive licenses (BSD-style and Apache 2.0, respectively). The original tinyxml library (no longer used, kept out of the repository) was authored by Lee Thomason, Yves Berquin, and Andrew Ellerton.
In case you need help, advice, or you notice a bug, please contact Alberto Tonda <alberto.tonda@gmail.com>.
Metadata
Release files for seqcleave 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seqcleave-0.1.0.tar.gz | 408.4 kB | Details |
Built distributions (wheels)
Total release size: 5.6 MB
Release files / seqcleave-0.1.0.tar.gz
| Download URL | seqcleave-0.1.0.tar.gz |
|---|---|
| Size | 408.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5da77f5d6a4f2c532a10bdfeedcc611107ae8c1c07a1df77e50a4172ad124590
|
|
BLAKE2b-256 checksum How to use checksums |
72aebd040edf1534c3c966478ff39f526020264bf28cf6498c524c0c1a52c906
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp312-cp312-win_amd64.whl
| Download URL | seqcleave-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 450.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
41a4e441c5b22863aeaa6f656a5812dcbc9cf89a4ee7ab4fe4fe0d7575870829
|
|
BLAKE2b-256 checksum How to use checksums |
6b81c418a40f647474ebf990235e3f5affa9f58dbff339d21331d0eb8f26fb34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | seqcleave-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 331.0 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a4372f5977d12b73bcb5de6d69be4545c3ae40817240c6112773259082b9dd8a
|
|
BLAKE2b-256 checksum How to use checksums |
67e53611f0526b0922e95f8e3fd664208ba995116eea9afdf1cf5891ff182f57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | seqcleave-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 243.1 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e447695d8c6426bb9d58139eef08d3b81d5493395a9e1ea347c647f99a8b9556
|
|
BLAKE2b-256 checksum How to use checksums |
29e8d8894b74e4ebce386ec1c4a5869c8db443094f823815eb00fa16962fce80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | seqcleave-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 270.5 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
ac5915e9ae4cd1932fe7dcd81127800cbb933297f56b5953d4746a3feef5b2e2
|
|
BLAKE2b-256 checksum How to use checksums |
2ff8819b8810700a51927acafe10b735fdbf6e8515d885f0cb3dfb881e8d87e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp311-cp311-win_amd64.whl
| Download URL | seqcleave-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 449.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
08091c2441a2b763215e916d49cdda5aa07c009171cc1b97902d9f07a1568469
|
|
BLAKE2b-256 checksum How to use checksums |
b9adc45dc64541b21423a3745b84b783bb2ea53bbd4b7bb7f17258053f843e3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | seqcleave-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 331.0 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a2f10bab2f1b0e1af6835c194d48491053219a9b7cd1437f4e2be7451a27933d
|
|
BLAKE2b-256 checksum How to use checksums |
d00cba95215c27adff621f7e12cc9575cb2d693a87837b13fcc97342b1520665
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | seqcleave-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 242.7 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3336643cfcccb2b2c863eecfdee27befe75ff517246ddf281f7b078ea0d8ec7f
|
|
BLAKE2b-256 checksum How to use checksums |
049452af4b21e9b12e863dc64164a3d382083e9b4790a97261942bef879f0d99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | seqcleave-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 270.4 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
b2cdf71bbd0f621eb9a6e1645f52c71bcd8d9a6bef3b261f88e7a37b42953c77
|
|
BLAKE2b-256 checksum How to use checksums |
c8c0f34dbbd783be569f81720b35dea168843768cfef38315567d436ec9b6ac0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp310-cp310-win_amd64.whl
| Download URL | seqcleave-0.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 447.5 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1f81626236d80d398782ec22ff8e00bc7a223be554fe5b6d9aacfb12b22c136c
|
|
BLAKE2b-256 checksum How to use checksums |
6c29fdb8c053df8650a945e708fc9c3ced0783bbe6395862617d4adefd3e8c72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | seqcleave-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 330.0 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
76d7b307b4b4d73428e58cb80985eaaa5e06baf7b7d77be70f3cf7d75a6897ac
|
|
BLAKE2b-256 checksum How to use checksums |
afe58fb54f85abafff39b44be8c2d574a6a9a9e2a2b1e020b64a776c09de63f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | seqcleave-0.1.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 241.2 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3019d9e8b96c7f14a9875b26acf92a6ba0d410c4f5b0161899b4b4ff72f0b43d
|
|
BLAKE2b-256 checksum How to use checksums |
f778dd61e88d0f0cdf54b3745acbb8a1a5b5250d9ab584fe61fb723db4a47dac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | seqcleave-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 269.1 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
5668697d1aadd938fc72eb2557b71ddf638bcee9bc235dd97caa1bbf37417790
|
|
BLAKE2b-256 checksum How to use checksums |
ec735488e73002a3ca5d38140349be35a6c0af32928087d78fd9fbba6d541540
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp39-cp39-win_amd64.whl
| Download URL | seqcleave-0.1.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 448.5 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0b5d2fce4ed6aa6e5f7787dd29e36d8b97fb6abc506e9f8dea746623d31271b8
|
|
BLAKE2b-256 checksum How to use checksums |
ae11d6ca2134b7fce16264d6d44a86d89d8b11dbf77812043850d99a4a5473e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | seqcleave-0.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 330.4 kB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9510117b76267a0c41187cc15cef4c3bd774f9ff3c6b6ba2b37d15fab32cbf93
|
|
BLAKE2b-256 checksum How to use checksums |
561f58729fb758816d1cb4b4b1ffc066efcbd08a9463a6ce5a4b509c1f26eb7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | seqcleave-0.1.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 241.4 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a29a9889b54f59f3a7fd2243a5b9265367870add7ee997179a2970b0f93fb19f
|
|
BLAKE2b-256 checksum How to use checksums |
5089b704e89ab11f7ccf79afa5d60762161a0f20019e4d3155376ea9e3f3e43a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / seqcleave-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | seqcleave-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 269.2 kB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
f402570b8f2be39d7cbd95b8ef3ea97e0328c83da3eef45a82fcb63fa6d5ce93
|
|
BLAKE2b-256 checksum How to use checksums |
38367e20553091079e22c831ce10108dee63fb6738fed3440bac2b8b6147b551
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log