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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pykingenie-1.0.0.tar.gz.
File metadata
- Download URL: pykingenie-1.0.0.tar.gz
- Upload date:
- Size: 104.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
394bda6f7199b27e6a7f024aa7816a7909283defd359cc42c6ba9e76e0345761
|
|
| MD5 |
fa1d578083b59616e76901206fb698ad
|
|
| BLAKE2b-256 |
426c688df72717336df85156b43912bd4830254881cd2946b483c94388bccd04
|
File details
Details for the file pykingenie-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pykingenie-1.0.0-py3-none-any.whl
- Upload date:
- Size: 82.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91aa940a1e6786a81f92c8f356425794ff865a3304e4becb0f0b32ddc484af9a
|
|
| MD5 |
c52e58ab41f9345e2cdc79c5cdaaeed6
|
|
| BLAKE2b-256 |
ba045942b91fa7a3e3e80a65e4af96e3db207126e7bd5b952fc2202f95009534
|