7.1.1.4.1.1. cobramod.visualization.converter¶
JSON creator
This module handles the convertion of strings into a proper object that can be used to create a JSON string, which can be later used in Escher.
The main class of this module is
cobramod.visualization.converter.JsonDictionary. This class is able to
parse and store data as JSON objects. To check the attributes for each
JSON object, please read the documentation of
cobramod.visualization.items.
Important methods:
json_dump: The data can be parsed into a JSON. (str)
add_metabolite: Add metabolite-node into the JsonDictionary.
add_marker: Add a marker-node into the JsonDictionary.
create_reaction: Returns a
cobramod.visualization.items.Reaction.add_reaction: Parses a reaction string and add the information into the
JsonDictionary. - add_blank: Adds a empty reaction. This is useful for the extra space in the visualizations. - visualize: Saves Escher visualization as a HTML and return the Escher Builder.
7.1.1.4.1.1.1. Attributes¶
7.1.1.4.1.1.2. Classes¶
Added in version 1.3.0. |
|
Simple class that represent a node for the JSON schema of Escher. The |
|
Simple class that represent a reaction for the JSON schema for Escher. A |
|
Create a JsonDictionary object which can be used to parse information into |
7.1.1.4.1.1.3. Functions¶
|
Returns a matrix for the representation of given graph. |
|
Returns a transpose matrix for given matrix. |
7.1.1.4.1.1.4. Module Contents¶
- class cobramod.visualization.converter.EscherIntegration(map_name=None, map_json=None, reaction_data=None, reaction_scale=None, reaction_styles=None, never_ask_before_quit=False)¶
Bases:
anywidget.AnyWidgetAdded in version 1.3.0.
An alternative Python integration for Escher .
- Parameters:
- map_name¶
- map_json¶
- reaction_scale¶
- never_ask_before_quit¶
- property model_data¶
- property embedded_css¶
- property options¶
- save_html(filepath)¶
This method creates a standalone HTML file that contains all the data of the Escher map and loads it automatically when it is opened.
- Parameters:
filepath (Union[str, pathlib.Path]) – The file in which the HTML file is to be saved.
- cobramod.visualization.converter.debug_log¶
- class cobramod.visualization.converter.Node(node_type, x, y, label_x=None, label_y=None, bigg_id='', name='', node_is_primary=False)¶
Bases:
collections.UserDictSimple class that represent a node for the JSON schema of Escher. The node type can be either a ‘metabolite’, ‘midmarker’ or a ‘multimarker’. Markers only need the arguments x and y. Check method
cobramod.visualization.items.Node.__init__()to see all the corresponding arguments.- Parameters:
- marker(node_type, x, y, **kwargs)¶
Sets the attribute of the dictionary if the dictionary belongs to a midmarker or multimarker. Arguments specified in __init__.
- metabolite(node_type, x, y, label_x, label_y, bigg_id='', name='', node_is_primary=False)¶
Returns a dictionary with the arguments if node_type correspond to metabolite. Arguments specified in __init__,
- class cobramod.visualization.converter.Reaction(*args, **kwargs)¶
Bases:
collections.UserDictSimple class that represent a reaction for the JSON schema for Escher. A Reaction have the Segment that give the position of the reaction in the canvas.
- Keyword Arguments:
name (str) – Name of the reaction.
bigg_id (str) – Identifier of the reactions. It does not have to be from the database BIGG.
reversibility (bool) – If reaction is reversible
label_y (float) – Position in y-axis for the label.
label_x (float) – Position in x-axis for the label.
gene_reaction_rule (str, optional) – Gene rules that specify involved genes.
genes (list, optional) – A list with the genes involved for that identifier. Each item has to be a dictionary with the keys ‘bigg_id’ and ‘name’
metabolites (list, optional) – A list with the metabolites involved. Each iteam has to be an dictionary with the keys ‘bigg_id’ and ‘coefficient’.
segments (PairDictionary, optional) – dictionary with
cobramod.visualization.items.Segment(). They represent the connections between nodes.
- add_metabolite(bigg_id, coefficient)¶
Add the identifier for a metabolite and its corresponding coefficient into the ‘metabolite’ key.
- add_segment(identifier, from_node_id, to_node_id)¶
Adds to the Reaction for given identifier a Segment. It will be visualized in Escher.
- cobramod.visualization.converter.get_mapping(graph)¶
Returns a matrix for the representation of given graph.
- Parameters:
graph (dict) – Dictionary with relationship between nodes. A node can have multiple edges, which should be presented as values.
- Return type:
List[list]
- Returns
List[list]: Representation of matrix
- cobramod.visualization.converter.transpose(matrix)¶
Returns a transpose matrix for given matrix.
- cobramod.visualization.converter.Position¶
- class cobramod.visualization.converter.JsonDictionary¶
Bases:
collections.UserDictCreate a JsonDictionary object which can be used to parse information into JSON files to be later read by Escher. When creating the object, some keyword arguments may be passed.
- Keyword Arguments:
head (dict, optional) – General information of the JSON. Keys included: map_name, map_id, map_description, homepage, schema.
reactions (dict, optional) – Dictionary with multiple
cobramod.visualization.items.Reactionwhere the key is the number of the reaction and the value the object. Defaults to empty dictionary.nodes (PairDictionary) – Dictionary with multiple
cobramod.visualization.items.Nodewhere the key is the number of the Node and the value the corresponding object. Defaults to empty dictionary.text_labels (dict, optional) – Dictionary with the custom text inside the canvas.
canvas (dict, optional) – x and y position, width and height of the white area in Escher.
- reaction_data¶
Dictionary with the solution to be visualized. Default to empty dictionary.
- json_dump(indent=None)¶
Returns a string that is the JSON representation of this class.
- add_metabolite(x, y, label_x, label_y, bigg_id, name, node_is_primary)¶
Add a metabolite-type node into the JsonDictionary. The key will be always the last node number.
- Parameters:
x (float) – Position in x-axis for the node.
y (float) – Position in y-axis fot the node.
label_x (float) – Position of the label in the x-axis.
label_y (float) – Position of the label in the y-axis.
bigg_id (str) – Identifier of the metabolite. It does not have to be from BIGG.
name (str) – Name of the label for the metabolite.
node_is_primary (bool) – True if node should represent a primary metabolite, i.e. Node is visually larger.
- add_marker(x, y, node_type)¶
Add a marker-type node into the JsonDictionary. Node can be a midmarker or a multimarker. These markers are located in the middle of the reaction. A midmarker is located between two multimarkers.
- map_metabolites(metabolite_dict, reaction, top_edge, left_edge, vertical)¶
Creates the metabolites from given dictionary and complements the
cobramod.visualization.items.Reaction. Moreover, it creates the corresponding metabolites-nodes for the JsonDictionary class.- Parameters:
metabolite_dict (dict) – Dictionary with metabolites and their coefficients.
reaction (Reaction) – Reaction that will include the metabolite.
top_edge (float) – Position for the top edge of the reaction-box.
left_edge (float) – Position for the left edge of the reaction-box.
vertical (bool) – Defines if metabolite should be map vertically.
- add_segments(reaction, metabolite_dict)¶
Add the segments to given Reaction. This will make the visuals in Escher. The information about the nodes of metabolites in located in the JsonDictionary. A reaction will have 2 + number of metabolite as its number of segments.
- add_reaction(row, column, string, name, identifier, vertical)¶
Parses and add given reaction string as a reaction for the JsonDictionary. It will automatically create all the necessary nodes and segments for the JSON.
- Parameters:
string (str) – Reaction string to be parsed.
identifier (str) – Identifier for the reaction.
row (int) – Row number from the visualization matrix.
column (int) – Column number of the visualization matrix.
name (str) – The name of the reaction.
vertical (bool) – If reaction should be displayed vertically.
- color_grading(color, min_max=None, quantile=False, max_steps=100, n_steps=None)¶
Function that creates a color scale between two predefined colors. The number of color gradations corresponds to the number of fluxes.
- Parameters:
color (list of str or list of list of int) – list of two colors. The first color defines the endpoint for positive values, the second for negative values. The colors must be passed in their rgb representation.
min_max (list of float,optional) – List consisting of two floats. The first int describes the minimum, the second the maximum. These two values are additionally added as data values and at the same time ensure that all values greater or less than these are ignored when creating the gradient.
quantile (bool, optional) – Defines whether quantiles are to be used for the creation of the gradient. Otherwise, the steps are equally distributed between the minimum and maximum.
n_steps (int, optional) – Sets the number of color steps.
max_steps (int, optional) – Sets the maximum number of color steps.
- visualize(filepath, vertical=False, color=None, min_max=None, quantile=False, max_steps=100, n_steps=None, custom_integration=False, never_ask_before_quit=False)¶
Saves the visualization of the JsonDictionary in given path as a HTML. Returns the builder for the JsonDictionary. If method is called in Jupyter or Qtconsole, it will show the embedded builder of the escher visualization. Else, it will open the default browser of the operating system and will load the previously saved HTML.
Blank spaces are removed from the reactions.
- Parameters:
filepath (Union[str, pathlib.Path]) – Path, optional Path for the HTML. Defaults to “pathway.html” in the current working directory
vertical (bool) – bool, optional Defines if pathway should be illustrated vertically. Defaults to False.
color (Optional[List[Union[str, List[int], None]]]) – list of str or list of lost of int, optional A list consisting of two entries. These define the endpoints for a color gradient. The entries can either be the colors as a list with three elements that define the RGB values or a string that defines the color name according to the css standard. If None is used here, no gradient will be generated. Defaults to None. Example: [“orange”, “green”] or [[255, 165, 0], [0, 128, 0]]
min_max (Optional[List[float]]) – list of float, optional List consisting of two ints. The first int describes the minimum, the second the maximum. These two values are additionally added as data values and at the same time ensure that all values greater or less than these are ignored when creating the gradient. With Quantile = False, a data-independent gradient is created.
quantile (bool) – bool, optional Defines whether quantiles are to be used for the creation of the gradient. Otherwise, the steps are equally distributed between the minimum and maximum.
max_steps (int) – int, optional Sets the maximum number of color steps.
n_steps (Optional[int]) – int, optional Sets the maximum number of color steps.
custom_integration (bool)
never_ask_before_quit (bool)
- Returns:
Escher builder object for the visualization
- Return type:
Builder
See also
Color names according to the css standard: https://www.w3schools.com/cssref/css_colors.asp