Synplifier works with Reagent objects. Reagent objects have an x position, a y position, a quantity (reagent.qty), a type (dry, wet, or tool), and a hue that is assigned based on type. Reagent objects default to dry. They also have a position of [0,0] before being reassigned based on type. This is a routine for transformation of cells through heat shock. BacterialPlate: the Bacterial plate or culture to transform cells in. plasmid: the plasmid to transform into the bacteria. A dry Reagent. microtube: A staging ground for later plating transformed cells. A tool Reagent. plate: final destination of plated transformed cells. Also a tool Reagent. ice_block: ice block for heat shock (see below). hot_block: a hot block for heat shock (see below). room_block: a room temperature "block" for incubation. Most commonly an empty space. function transform(BacterialPlate, plasmid, microtube, plate, ice_block, hot_block, room_block) This is a routine for growing bacteria from https://www.atcc.org/How_to_Revive_Cultures.aspx#:~:text=For%20freeze%20dried%20cultures%2C%20using,broth%20tube%20and%20mix%20well. mediaPowder: media in powder form (long term storage packets) lyobacteria: lyophilized (freeze-dried) bacteria. This is a dry reagent. water: purified and sterile water. incubate_block: heat block at correct temperature for incubation. incubate_s: integer seconds for incubation. function growBacteria(mediaPowder, lyobacteria, water, incubate_block, incubate_s) Induction is the last of the big three bacteria protocols. BacterialCulture: the bacterial culture to induce expression in. inducer: the induction medium, usually a wet Reagent. heat_block: the hot block used to increase speed and rate of expression. induction_time: time in seconds spent in induction. function induceBacteria(BacterialCulture, inducer, heat_block, induction_time) Lyophilization allows direct use of cellular reagents in protocols. BacterialCulture: the bacterial culture to lyophilize. lyophilizer: the lyophilizer tool (empty). lyoprotectant: when calling lyophilizePreserve, this is used to protect cells and preserve them. A wet reagent. function lyophilizePreserve(BacterialCulture, lyophilizer, lyoprotectant) This function carries out lyophilization on strong defaults, meant for cellular collapse and extraction function lyophilize(BacterialCulture, lyophilizer, s = 30 * 60 * 60) Heat shock is a common protocol used in transformation especially. It consists of a series of incubations between an ice block and a hot block. BacterialCulture: the bacterial culture to perform heat shock on (a Reagent object). ice_block: the (usually empty) ice block tool to use as the cold anchor to heat shock. hot_block: the (usually empty) hot block tool to use as the hot point for heat shock. intervals: An integer specifying the number of transitions between ice and hot blocks. function heatShock(BacterialCulture, ice_block, hot_block, intervals) { Transfer and incubate are the two core commands that synplifier is built on. One adds an arrow denoting a transfer to the state tracker, while the other starts a timer after a transfer. constituent: transfer start point (a Reagent object). recipient: transfer end point (a Reagent object) amount: the amount to be transferred. Specify amount as constituent.qty to transfer all. function transfer(constituent, recipient, amount) culture: the culture to be incubated incubate_block: the incubation object at correct temperature for incubation s: the number of seconds to incubate for function incubate(culture, incubate_block, s)