Welcome to pyKinGenie!, a python package for analysing binding kinetics data
Features
- Import Octet files (.frd)
- Import Gator files (Assay_#_Channel#.csv, Setting.ini and ExperimentStep.ini)
- Import custom CSV files
- Process the traces (alignment, baseline correction)
- Calculate binding kinetics (kon, koff, KD)
- Global fitting of multiple traces
- One-to-one, one-to-one with mass transport limitation, and one-to-one with induced fit models
Installation
Install PyKinGenie with pip:
pip install pykingenie
If you use uv, install it into the current environment with:
uv pip install pykingenie
Or add it to an existing uv-managed project:
uv add pykingenie
For development:
git clone https://github.com/osvalB/pykingenie
cd pykingenie
uv sync --extra dev
Quickstart
from pykingenie import *
bli = OctetExperiment('test')
# Replace with your own folder containing .frd files !!! The .frd files can be exported from the Octet software
files = ['230309_00'+str(x+1)+'.frd' for x in range(8)]
files = [folder + file for file in files]
files.sort()
bli.read_sensor_data(files)
bli.align_association(bli.sensor_names)
bli.align_dissociation(bli.sensor_names)
# We use the sensor #8 as the reference sensor for baseline correction. Remember than python indexing starts at 0.
bli.subtraction(bli.sensor_names[:7], bli.sensor_names[7])
pyKinetics = KineticsAnalyzer()
pyKinetics.add_experiment(bli, 'test')
labels = pyKinetics.get_experiment_properties('sensor_names')
ids = pyKinetics.get_experiment_properties('sensor_names_unique')
# Flatten the lists
labels = [item for sublist in labels for item in sublist]
ids = [item for sublist in ids for item in sublist]
df = get_plotting_df(ids, labels)
figure = plot_traces_all(pyKinetics,df)
figure.write_image('test_bli_traces.png')
pyKinetics.merge_ligand_conc_df()
pyKinetics.init_fittings()
pyKinetics.generate_fittings(pyKinetics.combined_ligand_conc_df)
fig = plot_association_dissociation(pyKinetics,split_by_smax_id=True)
fig.write_image('test_bli.png')
pyKinetics.submit_steady_state_fitting()
pyKinetics.submit_kinetics_fitting()
fig = plot_association_dissociation(pyKinetics)
fig.write_image('test_bli_fitted.png')
Contributing
Contributions are welcome! Please contact me at oburastero@embl-hamburg.de
Citation
If you use pyKinGenie, please cite it as:
Burastero, O. (2026). pyKinGenie (Version 1.0) [Computer software].
GitHub. https://github.com/osvalB/pykingenie
@software{burastero_2026_pykingenie,
author = {Burastero, Osvaldo},
title = {pykingenie},
version = {1.0},
year = {2026},
url = {https://github.com/osvalB/pykingenie}
}
License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for pykingenie 1.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pykingenie-1.0.8.tar.gz | 115.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pykingenie-1.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 201.7 kB
Release files / pykingenie-1.0.8.tar.gz
| Download URL | pykingenie-1.0.8.tar.gz |
|---|---|
| Size | 115.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8d962e99788425d59e32ca6d2306319d9cc40121128a11dc99e67c47dc38b7c
|
|
BLAKE2b-256 checksum How to use checksums |
6962f0c60bb76d790af60bc6b62a5687f50376265e332f9b88965dcdd04d435e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pykingenie-1.0.8-py3-none-any.whl
| Download URL | pykingenie-1.0.8-py3-none-any.whl |
|---|---|
| Size | 86.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
726577c5a4c8a1c4f99ab249ff77649e982f7e5b85a9c33b419521c2bd78ff60
|
|
BLAKE2b-256 checksum How to use checksums |
a81dac93fcb1a56f3046f542d8e479d703253c00049740d7cd9c7f4dfa69495a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|