File: createNormalExample.java

package info (click to toggle)
libsbml 5.10.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 141,800 kB
  • ctags: 98,793
  • sloc: cpp: 804,405; xml: 206,907; ansic: 66,144; cs: 52,916; java: 25,093; python: 23,449; sh: 9,847; perl: 8,414; makefile: 7,580; ruby: 4,760; csh: 3
file content (89 lines) | stat: -rw-r--r-- 3,129 bytes parent folder | download | duplicates (3)
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
///**
// * @file    createNormalExample.java
// * @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
// * ------------------------------------------------------------------------ -->
// */

import org.sbml.libsbml.*;

public class createNormalExample
{

	public static void main(String[] args)
	{
		System.loadLibrary("sbmlj");


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

    // set the required attribute to true
    DistribSBMLDocumentPlugin docPlug = (DistribSBMLDocumentPlugin)
                                        (document->getPlugin("distrib"));
    docPlug.setRequired(true);

    // create the Model

    Model model = document.createModel();

    // create the FunctionDefintion
    
    FunctionDefinition fd = model.createFunctionDefinition();
    fd.setId("mynormal");

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

    //
    // Get a DistribFunctionDefinitionPlugin object plugged in the fd object.
    //
    // The type of the returned value of SBase::getPlugin() function is SBasePlugin, and
    // thus the value needs to be casted for the corresponding derived class. 
    //
    DistribFunctionDefinitionPlugin fdPlugin = 
                (DistribFunctionDefinitionPlugin)(fd.getPlugin("distrib"));

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

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

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

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

    draw.setUncertML(uncert);

    libsbml.writeSBMLToFile(document, "distrib_example1.xml");
  }
}