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.9

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.9
File Size Uploaded
pykingenie-1.0.9.tar.gz 115.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pykingenie 1.0.9
File Interpreter ABI Platform
pykingenie-1.0.9-py3-none-any.whl Python 3 none any Details

Total release size: 201.8 kB

Release files / pykingenie-1.0.9.tar.gz

Download URL pykingenie-1.0.9.tar.gz
Size 115.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f13c95e8df8c82349f80be26fd8b2b2f91c2d0184909b15a57847cd5c83a5473
BLAKE2b-256 checksum
How to use checksums
b741f0f2647721e15bd8d9a9c975c3103d479f8e1ef1cb722dabdedfbd5eea86
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.9-py3-none-any.whl

Download URL pykingenie-1.0.9-py3-none-any.whl
Size 86.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00fb377c33e7058fcea6779e876422ae9d06cef9baf6482981529b9a3e7b0760
BLAKE2b-256 checksum
How to use checksums
6d59cf6c108a63f2b099f3ec3042b3690c38e4061e2e95ec6504b917b85d6081
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

This release

1.0.9 This release

2 release files

1.0.8

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