Render a model’s reaction network (pysb.tools.render_reactions)¶
Usage¶
Usage: python -m pysb.tools.render_reactions mymodel.py > mymodel.dot
If your model uses species as expression rates, you can visualize these interactions by including the –include-rate-species option:
python -m pysb.tools.render_reactions --include-rate-species mymodel.py > mymodel.dot
Renders the reactions produced by a model into the “dot” graph format which can be visualized with Graphviz.
To create a PDF from the .dot file, use the “dot” command from Graphviz:
dot mymodel.dot -T pdf -O
This will create mymodel.dot.pdf. You can also change the “dot” command to one of the other Graphviz drawing tools for a different type of layout. Note that you can pipe the output of render_reactions straight into Graphviz without creating an intermediate .dot file, which is especially helpful if you are making continuous changes to the model and need to visualize your changes repeatedly:
python -m pysb.tools.render_reactions mymodel.py | dot -T pdf -o mymodel.pdf
Note that some PDF viewers will auto-reload a changed PDF, so you may not even need to manually reopen it every time you rerun the tool.
Output for Robertson example model¶
The Robertson example model (in pysb.examples.robertson) contains
the following three reactions:
A -> B
B + B -> B + C
C + B -> C + A
The reaction network diagram for this system as generated by this module and
rendered using dot is shown below:
Circular nodes (r0, r1 and r2) indicate reactions; square nodes
(A(), B() and C()) indicate species. Incoming arrows from a species
node to a reaction node indicate that the species is a reactant; outgoing
arrows from a reaction node to a species node indicate that the species is a
product. A hollow diamond-tipped arrow from a species to a reaction indicates
that the species is involved as both a reactant and a product, i.e., it serves
as a “modifier” (enzyme or catalyst).
- pysb.tools.render_reactions.run(model, include_rate_species=False)[source]¶
Render the reactions produced by a model into the “dot” graph format.
- Parameters:
- modelpysb.core.Model
The model to render.
- include_rate_speciesbool
- If True, enable multigraph and add dashed edges from species used in
expression rates to the node representing the reaction.
- Returns:
- string
The dot format output.