Skip to main content

Test and build codecov Docs

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)

Source distribution for pykingenie 1.0.8
File Size Uploaded
pykingenie-1.0.8.tar.gz 115.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pykingenie 1.0.8
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

1.0.9

2 release files

This release

1.0.8 This release

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.19

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page