vivarium.library.make_media module

Functions for making media

exception vivarium.library.make_media.AddIngredientsError[source]

Bases: Exception

class vivarium.library.make_media.Media[source]

Bases: object

A media object is a factory for making new media by combining media and ingredients at different volumes (with self.make_recipe(). Ingredients can be added by either specifying their weight (in grams) or the counts (in mmol) in addition to the volume. The new media dicts are returned to the caller, and are not saved in this object. A media object holds dicts about stock media in `self.stock_media` and the formula weight of environmental molecules in `self.environment_molecules_fw`, which is needed for mixing in ingredients at weights.

add_media(media, new_media_id='fe05ccc2-13d0-11eb-803b-0242ac110002')[source]

add a media to stock

combine_media(media_1, volume_1, media_2, volume_2, units=False, operation='add')[source]
get_saved_media(media_id, units=False)[source]
make_recipe(recipe, units=False)[source]

make a single media recipe

make_timeline(timeline_str)[source]

Make a timeline from a string :param timeline_str: ‘time1 recipe1, time2 recipe2’ :type timeline_str: str

Returns

a list of tuples with (time (float), recipe (dict))

Return type

timeline (list[tuple])

remove_units(media)[source]
class vivarium.library.make_media.RecipeConstructor(*args: Any, **kwargs: Any)[source]

Bases: parsimonious.nodes.NodeVisitor

Make a recipe from a parsed recipe expression. :param - node: The node we’re visiting :param - visited_children: The results of visiting the children of that node, in a list

generic_visit(node, visited_children)[source]
visit_add(node, visited_children)[source]
visit_break(node, visited_children)[source]
visit_counts(node, visited_children)[source]
visit_inf(node, visited_children)[source]
visit_ingredient(node, visited_children)[source]
visit_media_id(node, visited_children)[source]
visit_numeric(node, visited_children)[source]
visit_one_event(node, visited_children)[source]
visit_one_ingredient(node, visited_children)[source]
visit_recipe(node, visited_children)[source]
visit_timeline(node, visited_children)[source]
visit_volume(node, visited_children)[source]
visit_ws(node, visited_children)[source]
vivarium.library.make_media.cmp(a, b)[source]
vivarium.library.make_media.test_make_media()[source]