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

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.7
File Size Uploaded
pykingenie-1.0.7.tar.gz 114.8 kB Details

Built distribution (wheel)

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

Total release size: 201.4 kB

Release files / pykingenie-1.0.7.tar.gz

Download URL pykingenie-1.0.7.tar.gz
Size 114.8 kB
Tags Source
SHA-256 checksum
How to use checksums
fcf49273f2d7edb3c457c70b96dd6b63e42a2129f830402cc856dd5c08a45ee6
BLAKE2b-256 checksum
How to use checksums
4ee7e8e33fec222e5831f74778d369a9f7c97fe6e91ae84e195878014a109c5f
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.7-py3-none-any.whl

Download URL pykingenie-1.0.7-py3-none-any.whl
Size 86.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5c2a07b5f5c9900f61d8fecca783f1ad9c4a99bfc93ad7bbd7c721611e8fe30c
BLAKE2b-256 checksum
How to use checksums
4062372e5970074ff3e0cda72abe011ca690cfb415eb154557b29667489185b8
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

1.0.8

2 release files

This release

1.0.7 This release

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