File: createNormalExample.py

package info (click to toggle)
libsbml 5.19.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 157,308 kB
  • sloc: cpp: 972,686; xml: 332,385; python: 128,188; cs: 57,289; ansic: 54,332; java: 27,244; makefile: 9,740; perl: 9,114; sh: 8,777; ruby: 4,760; javascript: 1,605; php: 202; csh: 3
file content (73 lines) | stat: -rw-r--r-- 2,360 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/python3
# @file    createNormalExample.py
# @brief   SBML distrib example
# @author  Sarah Keating
#
#
# <!--------------------------------------------------------------------------
# This file is part of libSBML.  Please visit http:#sbml.org for more
# information about SBML, and the latest version of libSBML.
#
# Copyright (C) 2009-2013 jointly by the following organizations:
#     1. California Institute of Technology, Pasadena, CA, USA
#     2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
#
# Copyright (C) 2006-2008 by the California Institute of Technology,
#     Pasadena, CA, USA 
#
# Copyright (C) 2002-2005 jointly by the following organizations:
#     1. California Institute of Technology, Pasadena, CA, USA
#     2. Japan Science and Technology Agency, Japan
#
# This library is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation.  A copy of the license agreement is provided
# in the file named "LICENSE.txt" included with this software distribution
# and also available online as http:#sbml.org/software/libsbml/license.html
# ------------------------------------------------------------------------ -->


from libsbml import *

sbmlns = SBMLNamespaces(3, 1, "distrib", 1);
document = SBMLDocument(sbmlns);

# set the required attribute to true
docPlug = document.getPlugin("distrib");
docPlug.setRequired(True);

# create the Model

model = document.createModel();

# create the FunctionDefintion

fd = model.createFunctionDefinition();
fd.setId("mynormal");

math = libsbml.parseFormula("lambda(param1, param2, 0)"); 
fd.setMath(math);

#
# Get a DistribFunctionDefinitionPlugin object plugged in the fd object.
#
fdPlugin = fd.getPlugin("distrib");

# create a DrawFromDistribution object
draw = fdPlugin.createDrawFromDistribution();

# create the distribInputs
input1 = draw.createDistribInput();
input1.setId("mu");
input1.setIndex(0);

input2 = draw.createDistribInput();
input2.setId("sigma");
input2.setIndex(1);

# create the UncertMLNode object
uncert = libsbml.createDistributionNode("NormalDistribution", "mean, variance", "mu,sigma");

draw.setUncertML(uncert);

writeSBMLToFile(document, "distrib_example1.xml");