1#!/usr/bin/env ruby 2# 3# @file promoteParameters.rb 4# @brief promotes all local to global paramters 5# @author Frank T. Bergmann 6# 7## <!-------------------------------------------------------------------------- 8## This sample program is distributed under a different license than the rest 9## of libSBML. This program uses the open-source MIT license, as follows: 10## 11## Copyright (c) 2013-2018 by the California Institute of Technology 12## (California, USA), the European Bioinformatics Institute (EMBL-EBI, UK) 13## and the University of Heidelberg (Germany), with support from the National 14## Institutes of Health (USA) under grant R01GM070923. All rights reserved. 15## 16## Permission is hereby granted, free of charge, to any person obtaining a 17## copy of this software and associated documentation files (the "Software"), 18## to deal in the Software without restriction, including without limitation 19## the rights to use, copy, modify, merge, publish, distribute, sublicense, 20## and/or sell copies of the Software, and to permit persons to whom the 21## Software is furnished to do so, subject to the following conditions: 22## 23## The above copyright notice and this permission notice shall be included in 24## all copies or substantial portions of the Software. 25## 26## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 27## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 28## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 29## THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 30## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 31## FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 32## DEALINGS IN THE SOFTWARE. 33## 34## Neither the name of the California Institute of Technology (Caltech), nor 35## of the European Bioinformatics Institute (EMBL-EBI), nor of the University 36## of Heidelberg, nor the names of any contributors, may be used to endorse 37## or promote products derived from this software without specific prior 38## written permission. 39## ------------------------------------------------------------------------ --> 40 41require 'libSBML' 42 43if ARGV.size != 2 44 puts "Usage: promoteParameters input-filename output-filename" 45 exit(2) 46end 47 48d = LibSBML::readSBML(ARGV[0]) 49if (d.getNumErrors() > 0) 50 d.printErrors 51else 52 props = LibSBML::ConversionProperties.new 53 props.addOption("promoteLocalParameters", true, "Promotes all Local Parameters to Global ones") 54 if d.convert(props) != 0 55 puts "[Error] conversion failed..." 56 exit(3) 57 end 58 LibSBML::writeSBML(d,ARGV[1]) 59end 60 61