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.5
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.5.tar.gz | 114.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pykingenie-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 200.9 kB
Release files / pykingenie-1.0.5.tar.gz
| Download URL | pykingenie-1.0.5.tar.gz |
|---|---|
| Size | 114.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac60d1dfbb5c0871a2b34d846aa705dae24b85831e1e8d53725d661c07d1bcfe
|
|
BLAKE2b-256 checksum How to use checksums |
58b565df4a3905b685de62a0f168be0d2432ea2364ce9c0298eaa0134ef975a9
|
| 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.5-py3-none-any.whl
| Download URL | pykingenie-1.0.5-py3-none-any.whl |
|---|---|
| Size | 86.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b46c984bdfe83f34acd97310978a9822dd2e3d5c9dd7f8617819ef3ea1dbfa54
|
|
BLAKE2b-256 checksum How to use checksums |
1b497a2feff43cd6a7a623e74f103760548366078371a494bfa7533fc0b1a737
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|