This paper introduces BioScript, a domain-specific language (DSL) for programmable biochemistry which executes on emerging microfluidic platforms. The goal of this research is to provide a simple, intuitive, and type-safe DSL that is accessible to life science practitioners. The novel feature of the language is its syntax, which aims to optimize human readability; the technical contributions of the paper include the BioScript type system and relevant portions of its compiler. The type system ensures that certain types of errors, specific to biochemistry, do not occur, including the interaction of chemicals that may be unsafe. The compiler includes novel optimizations that place biochemical operations to execute concurrently on a spatial 2D array platform on the granularity of a control flow graph, as opposed to individual basic blocks. Results are obtained using both a cycle-accurate microfluidic simulator and a software interface to a real-world platform. CCS Concepts: • Software and its engineering → Domain specific languages; General programming languages; • Theory of computation → Logic; Type theory; • Social and professional topics → History of programming languages;
This paper introduces a compiler optimization strategy for Software-Programmable Laboratories-on-a-Chip (SP-LoCs), which miniaturize and automate a wide variety of benchtop laboratory experiments. The compiler targets a specific class of SP-LoCs that manipulate discrete liquid droplets on a 2D grid, with cyber-physical feedback provided by integrated sensors and/or video monitoring equipment. The optimization strategy employed here aims to reduce the overhead of transporting fluids between operations, and explores tradeoffs between the latency and resource requirements of mixing operations: allocating more space for mixing shortens mixing time, but reduces the amount of spatial parallelism available to other operations. The compiler is empirically evaluated using a cycle-accurate simulator that mimics the behavior of the target SP-LoC. Our results show that a coalescing strategy, inspired by graph coloring register allocation, effectively reduces droplet transport latencies while speeding up the compiler and reducing its memory footprint. For biochemical reactions that are dominated by mixing operations, we observe a linear correlation between a preliminary result using a default mixing operation resource allocation and the percentage decrease in execution time that is achieved via resizing. CCS Concepts • Computer systems organization → Embedded and cyber-physical systems; Parallel architectures; Reconfigurable computing; • Software and its engineering → Compilers; • Hardware → Emerging languages and compilers; Microelectromechanical systems.
While safe chemical storage and disposal are simple in principle-users should read safety specifications and place chemicals in appropriate cabinets or collection pointshigh-profile incidents involving improper storage and disposal of chemicals continue to occur. This paper introduces ChemStor , an open-source, automated computational system that can guarantee (mathematically verify a system is correct with respect to its specification), with regard to prescribed constraints, safe storage and disposal of chemicals used in academic, industrial, and domestic settings. ChemStor borrows concepts from formal methods-a branch of computer science capable of mathematically proving a specification or software is correct-to safely store or dispose of chemicals. If two or more chemicals can be combined in the same cabinet without forming possibly dangerous combinations of chemicals (while observing cabinet/shelf space constraints), then ChemStor determines that the storage configuration is safe. Likewise, if chemicals can be added to an existing disposal container without forming possibly dangerous combinations of chemicals (or exceeding the volume of the container), then ChemStor determines that the disposal configuration is safe. ChemStor accomplishes this by first building a chemical interaction graph, a graph that describes which chemicals may interact with each other based on their Reactivity Groups as determined by the United States Environmental Protection Agency. Next, ChemStor computes the chromatic number of the graph, the smallest number of colors used to color the graph such that no two vertices (chemicals) that share an edge (an interaction) share the same color. ChemStor then assigns all the chemicals of each color to a storage or disposal container after confirming that there is enough space in the container. These steps are encoded into a series of Satisfiability Modulo Theory equations, and ChemStor uses an industry-standard tool to try to find a valid solution to these equations. The result is either a solution which dictates exactly where to store or dispose of each chemical, or an indication that no safe storage or disposal configuration could be found. To demonstrate the feasibility of ChemStor , we used the tool to analyze ten real-world chemical 2 storage and disposal incidents that led to injuries or destruction of property. In each case, ChemStor quickly and successfully identified a proper chemical disposal or storage configuration that would have prevented the incident. In the future, ChemStor may be integrated with electronic laboratory notebooks, voice assistants, and other emerging technology to protect users of chemicals in labs, workplaces, and homes. Container 1
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.