Oops: A Language for Formalizing Fallible Biological Protocols

Read the full article See related articles

Listed in

This article is not in any list yet, why not save it to one of your lists.
Log in to save this article

Abstract

Formalizing protocols used in wetlab biological research as programs improves reproducibility by making protocols replicable and standardized. However, existing protocol languages have limited capacity for codifying error sources and standardizing error handling. When protocols inevitably go wrong, debugging must still be done by technicians, a process which is challenging for unfamiliar protocols and a scalability constraint in automated facilities. We introduce O ops , a programming language for describing biological protocols along with how they can fail. O ops makes expression of how errors affect outcomes concise through probabilistic semantics, an extensible abstraction of the lab, and metaprogramming. Given an outcome, O ops enables analyses of what errors occurred by mapping lab observations to enforced program conditions and applying existing probabilistic inference algorithms. We formalize a collection of molecular cloning protocols and present case studies demonstrating how O ops can explain errors and assess diagnostic capabilities.

Article activity feed