Source code for sbmlutils.examples.tutorial.random_network

"""Example creating random network."""
import random

from sbmlutils.cytoscape import visualize_sbml
from sbmlutils.factory import *
from sbmlutils.resources import EXAMPLES_DIR
from sbmlutils.validation import ValidationOptions


random.seed(1234)
[docs]n_species = 100
# -------------------------------------------------------------------------------------
[docs]model = Model( "random_network", compartments=[ Compartment(sid="cell", value=1.0), ], species=[ Species(sid=f"S{k}", initialConcentration=10.0, compartment="cell") for k in range(n_species) ], parameters=[ Parameter(sid="k", value=0.1), ], reactions=[], )
model.reactions = [] for k in range(n_links):
[docs] k_source = random.randint(0, n_species - 1)
k_target = random.randint(0, n_species - 1) model.reactions.append( Reaction( sid=f"J{k+1}", equation=f"S{k_source} -> S{k_target}", formula=f"k * S{k_source}", ), ) # ------------------------------------------------------------------------------------- if __name__ == "__main__":
[docs] fac_result: FactoryResult = create_model( model=model, filepath=EXAMPLES_DIR / f"{model.sid}.xml", validation_options=ValidationOptions(units_consistency=False), )
visualize_sbml(sbml_path=fac_result.sbml_path)