pyITC

About

pyITC is the software for processing the isothermal titration calorimetry data. Currently, it only supports the Microcal output. The reason I wrote the software (other than having fun) was frustration with the way ITC data are processed in Microcal Origin. Main issues resolved by pyITC:
  1. Baseline fitting. I don't know what is the algorithm behind it in Origin, but these chains were driving me crazy. With perfect data everything works great, but somehow I always have to deal with weak signals. Even a little bit of noise will cause problems, and I think that the option of manually adjusting baseline breeds bias, if not borderline cheating. I always had to go through it manually, and although human brain is a true data processing miracle, I am sure it is not sound when it comes to statistics. Plus the whole point is to do it automatically. When I realized that after looking at binding curve I am tempted to go back and adjust baseline to make data look smooth, I figured I had enough.
  2. Outlier rejection. In Origin, you do it manually. Once again, it is neither statistically sound nor consistent approach (and the program seems to forget your selections). pyITC rejects outliers automatically using interquartile analysis.
  3. Dilution heat. I must be stupid, but I still don't know how to subtract it in Origin. Every time I try to follow instructions, it does not work (again, I am just stupid). Also, in most cases I've seen the dilution heat was constant, so in Origin I usually subtracted a straight line. pyITC has the dilution heat as a fitting parameter (this also means you can do one less experimental run).
  4. I am sure one can create extra models in Origin (I just don't know how and life is too short), but I wanted something more straightforward. In pyITC, it's easy to add new models (at least for me). Essentially, you need to write a piece of code which describes the heat content, the rest is taken care of by ITCModel class. So, at least in theory, pyITC allows to add new models easily. The plugin option is planned for the first official release (1.0).
If you have any questions, email me (pozharski@gmail.com).