(1400-A) Worklist – Reducing the programming workload written through a liquid handler’s application using a python worklist generator application
Monday, February 5, 2024
12:00 PM – 1:00 PM EST
Location: Exhibit Halls AB
Abstract: Automated liquid handlers have become an integral tool to an increasing number of lab workflows. For these instruments, manufacturers need to deliver an excellent user experience for script developers and users alike. And so, many have opted to provide a visual programming language (VPL) to ease adoption for their customers to script on their instruments. Implementing a VPL makes programming more accessible to novices. It clearly lists out all available commands with an easy drag n’ drop implementation, reduces syntax, and shows the parameters and options available. Unfortunately, this adds bulk to scripts with complex workflows and many variable inputs. In these cases, scripting through a VPL becomes difficult, as multiple scripts need to be developed to handle each use-case, as well as separate logic. This results in inefficiencies in script development time and can be daunting to read. Python, a general-purpose scripting language, can serve as an alternative means of programming, but it has a drawback. While it may more easily be read by an experienced coder, learning Python can be a barrier for new programmers and script developers.
Fortunately, some manufacturers have opted to implement worklists in their software. These are convenient CSV or GWL plain text files where script developers can write their commands to then import into their scripts. This serves as an alternative to writing it directly through the native VPL. However, these files do not enable for conditional statements and variables. Novice script developers would benefit from an app that enables them to write complex logic through worklist files without knowing Python. Here, we developed Worklist, a custom python application developed to aid scripting by exporting the complexity from the VPL.
Worklist does not require developers to learn Python for its use. With it, script developers can enable end-users to create worklist files at run time. Developers define the worklist configuration in JSON, a plain text language-independent data format, and sample information input (such as sample names, sample type for liquid classes, vials, positions, concentrations, and/or dilution factors) through a Tkinter front-end or a CSV text file. With the JSON configuration and the sample information, Worklist generates worklist files with the pipetting instructions for sample and reagent dilutions through to the final transfer as defined through the configuration. Worklist will also generate template files with relevant information for Softmax (plate reader software) and Gyrolab instruments for further analysis. Worklist allows flexibility for different variables including edge cases, such as increasing volumes when certain conditions are met.
Worklist removes the complexity from the VPL entirely. It allows for custom workflows where script developers can prioritize for speed through pipetting efficiency or conservation of consumables. Switching to worklist files from VPL scripts, we have observed Worklist to reduce the size and number of scripts required by up to 10 times, improve readability, and reduce the time spent scripting.