Skip to main content

Python software package for analyzing Isothermal Titration Calorimetry data

Project description

A python software package for analyzing Isothermal Titration Calorimetry data. The name is a portmanteau of Python and ITC.

Introduction

pytc is python software used to extract thermodynamic information from isothermal titration calorimetry (ITC) experiments. It fits arbitrarily complex thermodynamic models to multiple ITC experiments simultaneously. We built it with three design principles:

  • Open source and cross platform. The full source code should be available. The program should not require proprietary software to run.

  • Ease of use. Fitting basic models should be easy. Implementing completely new thermodynamic models should be straightforward.

  • Accessible for users and programmers. It should have both a GUI and a well-documented API.

Our implementation is built on python3 extended with numpy and scipy. The GUI is built on pytq5.

Features

  • Clean, pythonic API

  • Simple, cross-platform GUI based on PyQt5.

  • New models can be defined using a few lines of python code.

  • Easy integration with jupyter notebooks for writing custom fitting scripts.

Try it out!

We have posted a jupyter notebook demonstrating the capabilities of the API on binder.

http://mybinder.org/badge.svg:target:http://mybinder.org:/repo/harmslab/pytc-binder

API Quick Start

If you already have a python3-based scientific computing environment installed, you can start using the API by:

# Install pytc
sudo pip3 install pytc-fitter

# Clone the repo (to bring in demos)
git clone https://github.com/harmslab/pytc

# Fire up jupyter and open Demo.ipynb
cd pytc/demos
jupyter notebook

Example code using the API

Fit a \(Ca^{2+}/EDTA\) binding experiment to a single-site binding model.

import pytc

# Load in integrated heats from an ITC experiment
e = pytc.ITCExperiment("demos/ca-edta/tris-01.DH",
                       pytc.indiv_models.SingleSite)

# Create the global fitter, add the experiment, and fit
g = pytc.GlobalFit()
g.add_experiment(e)
g.fit()

# Print the results out
g.plot()
print(g.fit_as_csv)

Documentation

Project details


Download files

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

Source Distribution

pytc-fitter-0.1.3.tar.gz (18.3 kB view hashes)

Uploaded Source

Built Distribution

pytc_fitter-0.1.3-py3-none-any.whl (25.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page