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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pykingenie-1.0.0.tar.gz (104.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pykingenie-1.0.0-py3-none-any.whl (82.0 kB view details)

Uploaded Python 3

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

Hashes for pykingenie-1.0.0.tar.gz
Algorithm Hash digest
SHA256 394bda6f7199b27e6a7f024aa7816a7909283defd359cc42c6ba9e76e0345761
MD5 fa1d578083b59616e76901206fb698ad
BLAKE2b-256 426c688df72717336df85156b43912bd4830254881cd2946b483c94388bccd04

See more details on using hashes here.

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

Hashes for pykingenie-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91aa940a1e6786a81f92c8f356425794ff865a3304e4becb0f0b32ddc484af9a
MD5 c52e58ab41f9345e2cdc79c5cdaaeed6
BLAKE2b-256 ba045942b91fa7a3e3e80a65e4af96e3db207126e7bd5b952fc2202f95009534

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

This release

1.0.0 This release

2 files

0.1.19

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page