GithubHelp home page GithubHelp logo

jgruselius / tadm-plot Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 33 KB

Python program to visualize TADM data generated by Hamilton's liquid handling robots

Python 100.00%
hamilton liquidhandler tadm

tadm-plot's Introduction

TADM plot

This is a Python program I wrote to visualize TADM data generated by Hamilton's liquid handling robots.

TADM (Total Aspiration and Dispense Monitoring) is a feature of Hamilton's robots where the pressure signal of the pipetting channel is recorded during aspiration and dispensation. This allows one to detect undesired deviations in the pipetting such as air bubbles, clogging etc. both in real time and after the fact depending on the use mode.

This simple program can parse the database files that are saved after a run, connect it to the defined liquid classes and plot the pressure data within. Similar to what you can do in the Hamilton Liquid Editor program, but in a more portable manner that doesn't require you to install the Venus suite. What you do need though is an ODBC driver to read the Microsoft Access database format:

[MDBToolsODBC]
Description = MDB Tools ODBC
Driver = /usr/lib/odbc/libmdbodbc.so
Setup =
FileUsage =
CPTimeout =
CPReuse =

You also need to supply the liquid class definitions of those used in the recorded data: this is usually the ML_STARLiquids.mdb of the system that generated the TADM data. Simply copy the file HAMILTON\Config\ML_STARLiquids.mdb to the same folder as the main.py script.

There are versions with either command-line (CLI) or GUI available in different branches:

  • master: CLI
  • gui: GUI (Tkinter)
  • wxgui: alternative GUI (wxPython). Tkinter looks crap for me on Linux, this one is better but requires additional dependencies.
  • polars: alternative CLI using Polars. This is slightly faster and more memory efficient but probably not noticable unless data set is huge.

To summarize:

  1. Install Access DB driver (see above).
  2. Install dependencies: pip install requirements.txt.
  3. Copy ML_STARLiquids.mdb to script folder.
  4. Run the program:
    • CLI version can be used interactively by: python main.py -i <mdb_file>, for other modes such as bulk export of plots see full usage below.
    • For the GUI versions run python main.py.
usage: main.py [-h] [-l X | -i | -a | -P] [-p PLOT | -o DIR] [-n] [-v] [-L DB] infile

Plot TADM data from a .mdb file.

positional arguments:
  infile                The TADM file to parse

options:
  -h, --help            show this help message and exit
  -l X, --liquid X      The liquid class name to plot
  -i, --interactive     Select the available liquid classes from a menu
  -a, --all             Save plots of all liquid classes
  -P, --par             Save all plots using multiprocessing
  -p PLOT, --plot PLOT  Save the plot (png) to this file (full path, will overwrite)
  -o DIR, --outdir DIR  Save the plots (png) to this directory (full path, will overwrite)
  -n, --noshow          Don't show the plot window
  -v, --verbose         Print more details about what's going on
  -L DB, --lcdb DB      Use some other liquid class definition database

Created by Joel Gruselius (github.com/jgruselius)

tadm-plot's People

Contributors

jgruselius avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.