Aquarium gives you the means to specify, as precisely as possible, how to obtain an experimental result. Researchers encode protocols in Krill, the Aquarium protocol language, specifying how to manipulate items in the Aquarium inventory (test tubes, regents, DNA samples,, 96 well plates, etc.) using a combination of formal statements, informal descriptions, and photographs. Protocols are parameterized by "tuning knobs" (such as incubation times or reagent concentrations) that can be varied when the protocols are scheduled. The researcher strings together protocols into processes, specifying how the output samples of one protocol become the inputs to other protocols, and how protocols can be scheduled, parallelized, and controlled.
Protocols and processes are scheduled and presented to technicians on touchscreen monitors placed throughout the lab. Every step is logged: who performed the step, which items were used, what data was gathered by which instruments, and how long it took. The data can be used to debug and improve the experiment. More importantly it provides a complete, executable description of the results obtained -- one that could be used by another lab running Aquarium to reproduce the result.
Aquarium is a product of the Klavins Lab.
- Installation : How to install Aquarium.
- Dockerized Aquarium : Run Aquarium with Docker.
- Github : The latest Aquarium code.
- Populating Inventory : Video describing how to manage and create samples.
- Planning Experiments : Video describing how to build an experimental workflow.
- Building a Workflow : Video / Old version
- Monitoring a Plan : Video on how to track an experiment as it is being run.
- Managing the Lab : TODO
- Defining new Sample Types : TODO
- Locations : Aquarium's freezer location system.
- Developer Interface : How to develop protocols using the Aquarium IDE.
- Krill : How to write protocols in Ruby using Aquairum's Krill Library.
- Operations : How to handle operations in protocol code.
- Data Associations : How to associate data with items, operations, and plans.
- Aquarium/Krill API Reference : Detailed method reference.
- Trident : A Python interface to Aquarium!