Forums

F.A.Q. F.A.Q.    Register Register    Login Login    Home Home
Search Search
SBML Discussions » libsbml-development » Release of libSBML-5.4.0
Show: Today's Posts  :: Message Navigator
| Subscribe to topic 
Return to the default flat view Create a new topic Submit Reply
AuthorTopic
fbergman


Posts: 122
Registered:
February 2010
Re: Release of libSBML-5.4.0 22 Feb '12 18:55 Go to previous messageGo to previous message

Hello Chris,

>
> The more concerning issue is I think that you are correct that the libsbmlj.jar file is wrong for the release. Its date is significantly earlier than for the other library files. I believe it is Feb 2nd while the others are a week or more later. Don't recall for sure as it is on my desktop at my office. I do remember though wondering if I did get the right files due to this large difference in date. Will you repair the build online for 5.4? If so, I will test it again. I think the other issues I can work around.
>

Concerning indeed. Can you let me know precisely which file you are talking about? the date of the packages within the DMGs for the stable release

libsbml-5.4.0-libxml2-macosx-lion.dmg
libsbml-5.4.0-libxml2-macosx-snowleopard.dmg

do have the same time stamp for both lib and jar. Are you referring to the experimental builds?

I'm investigating …

thanks
Frank

> Thanks,
>
> Chris
>
> On Feb 22, 2012, at 6:08 PM, Frank T. Bergmann wrote:
>
>>
>> Hello Chris,
>>
>> I'm sorry for the inconvenience. I know we talked about this one before, so it is more troubling that it does not work for you as expected.
>>
>>>
>>> 1) The namespace fix that you made did not solve the problem that I reported earlier. Namely, if I import a COPASI file which uses the "sbml:" tags and try to merge it with a model which does not use them, I still end up with namespace errors and dropped information.
>>
>> When you call addSpecies to add species from one SBML Document to another, this call will only succeed if certain conditions are met:
>>
>> 1. both documents have the same sbml level
>> 2. both documents have the same sbml version
>> 3. both documents use an *identical* set of namespaces.
>>
>> before 5.4.0 the namespaces of both documents had to have the identical uri and prefix combination. The change in 5.4.0 allows the namespaces with any prefix. That means that you can add elements from one document that uses a prefix sbml: to another document that does not use that prefix under the conditions that:
>>
>> - they use the same sbml level / version
>> - the number of namespaces match otherwise
>>
>> Most likely what is happening here is that the second document also includes another namespace declaration (say for the mathml namespace). And so it is rejected. If that is not what you would expect we can think about changing this behavior in a later release. I will attach a test java class with two test models that illustrate the problem.
>>
>>>
>>> 2) If I try to use my fix before adding items, the program crashes.
>>>
>>> spec.setSBMLNamespacesAndOwn(mainDoc.getModel().getSBMLNamespaces());
>>>
>>
>> the above should not crash. Unfortunately you do not send along enough details to sort out this issue, but it might be related to 3 below. One thing i wanted to mention. Setting / getting the SBMLNamespaces is an operation best done on the SBML document object. To spare the user the trouble of always having to manually change namespaces, any SBase object will always report the SBMLNamespace of the parent it belongs to. So it would be best to call:
>>
>> doc2.setSBMLNamespacesAndOwn(doc1.getSBMLNamespaces());
>>
>> if indeed you add elements from the second one to the 1st. Remember that this is not to be used lightly, there are other operations that might have to be taken (like converting the model from one level to another, rather than just replacing the namespace).
>>
>>
>>> 3) I get errors whenever I call checkConsistency:
>>>
>>> Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: org.sbml.libsbml.libsbmlJNI.SBMLDocument_checkConsistency__SWIG_1(JLorg/sbml/libsbml/SBMLDocument;)J
>>> at org.sbml.libsbml.libsbmlJNI.SBMLDocument_checkConsistency__SWIG_1(Native Method)
>>> at org.sbml.libsbml.SBMLDocument.checkConsistency(SBMLDocument.java:1196)
>>>
>>
>> This error indicates a serious issue with the set up. Whenever we release a version of the libSBML java bindings, they come in a pair: the jar file libsbmlj.jar and its accompanying dynamic library (sbmlj.dll|so|jnilib). The most likely cause of the error you describe above is a mismatch (using libsbmlj.jar from version x of libsbml but the dynamic library of version Y). In the attached test program I ensured that it works with the released 5.4.0.
>>
>> best
>> Frank
>>
>> to run the program, please 1st ensure the dynamic library is in the PATH|DYLD_LIBRARY_PATH|LD_LIBRARY_PATH and then invoke
>>
>> on windows:
>> java -cp libsbmlj.jar;. AddElementsToModel Model1.xml Model2.xml
>>
>> on OSX | and others:
>> java -cp libsbmlj.jar:. AddElementsToModel Model1.xml Model2.xml
>>
>> <AddElementsToModel.java><Model1.xml><Model2.xml>
>>> Any ideas?
>>>
>>> Thanks,
>>>
>>> Chris
>>>
>>> On Feb 15, 2012, at 11:22 AM, Frank T. Bergmann wrote:
>>>
>>>> ---------------------
>>>> libSBML-5.4.0
>>>> ---------------------
>>>>
>>>> We are pleased to announce the release of libSBML-5.4.0 which is
>>>> available for download from
>>>>
>>>> https://sourceforge.net/projects/sbml/files/libsbml/5.4.0/
>>>>
>>>>
>>>> ======================================================================
>>>> Version 5.4.0 (2012-02-15)
>>>> ======================================================================
>>>>
>>>> STABLE RELEASE
>>>>
>>>> * New features
>>>>
>>>> - Basic validation of MIRIAM compliant RDF annotations that
>>>> are parsed into ModelHistory or CVTerm objects has been
>>>> added to facilitate the use of annotations that are not
>>>> yet quite complete. Warnings are now issued relating to
>>>> whether or not the rdf:about attribute accurately points to
>>>> the metaid of the containing object and whether the object
>>>> that was created was consisdered a valid object in the
>>>> attributes and subelements that are required.
>>>>
>>>> - It has been noted that unless the checkConsistency function is
>>>> called immediately after reading an SBML document, it does not
>>>> report all potential errors. Since users may wish to apply the
>>>> function to a model being constructed this seems to be a
>>>> disadvantage of the function. However, as this function has been
>>>> in libSBML for many years it was decided not to alter the
>>>> functionality but to add a new function 'validateSBML' which, when
>>>> called from a document object, will force a write and read of the
>>>> in memory object and report validation errors for the object as
>>>> written. Thus, all errors will be reported with line numbers that
>>>> would correspond to the document if written out.
>>>>
>>>> - Conversion of a model containing FunctionDefinitions to L1
>>>> is now supported.
>>>>
>>>> - Conversion of a model containing InitialAssignments to L2V1
>>>> and L1 is now supported.
>>>>
>>>> - There is a new isSetBody() function for the FunctionDefinition
>>>> class that returns true if the body of the lambda function
>>>> has been set.
>>>>
>>>> - The MATLAB/Octave binding function OutputSBML now takes an
>>>> additional optional flag (extensions_allowed defaulting to true)
>>>> that allows a user to specify whether the MATLAB_SBML structure
>>>> should be considered valid if it contains any additional fields.
>>>>
>>>> - Multiple namespaces using the same prefix are not allowed in XML.
>>>> The function that added XMLNamespaces in libSBML checks for an
>>>> existing namespace with the prefix of the namespace being added
>>>> and overwrites the original if a duplicate is found. This
>>>> behaviour meant that it was possible to unintentionally remove
>>>> the sbml namespace. The behaviour of the function has been altered
>>>> such that if the namespace being added has a prefix that duplicates
>>>> that of the existing sbml namepace then the function returns failure
>>>> and the new namespace is not added. Should the sbml namespace need
>>>> to be replaced it can be done by using the remove function before
>>>> adding the new namespace.
>>>>
>>>> - SBase objects that occur in Level 3 package code need to keep
>>>> track of the namespace of the package to which they belong. However,
>>>> a conversion might alter the namespace; for example with layout
>>>> where the level 2 layout annotation has its own namespace.
>>>> The getURI function has been altered to adopt the approach used for
>>>> tracking the core sbml namespace of any object i.e. the namespaces of
>>>> the containing document take precedence and the namespace stored on
>>>> an actual object is only considered if it does not belong to a document.
>>>> An additional function getElementNamespace() can be used to obtain
>>>> the namespace stored on the actual object.
>>>>
>>>>
>>>> * Bug fixes
>>>>
>>>> - Tracker issue #3472034
>>>> Line numbers were not being reported as accurately for L2 models
>>>> as for L3 models. We have overviewed all the code relating
>>>> to line numbers and improved the accuracy and consistency
>>>> of line numbers reported. Thanks to Raimund Rˆnn for the report.
>>>>
>>>> - Tracker issue #3471902
>>>> The documentation for the readSBMLFromString function claimed it
>>>> prepend the xml encoding if it was not present. In fact, the
>>>> function did not do this. This has been corrected. Thanks to
>>>> Raimund Rˆnn for reporting it.
>>>>
>>>> - Tracker issue #3466104
>>>> Fixed inaccuracies in the documentation. Thanks to Raimund Rˆnn
>>>> for his careful reading and taking the time to report the errors.
>>>>
>>>> - Validation failed to notice that csymbol avogadro was not valid
>>>> in Level 2. This is fixed.
>>>>
>>>> - Exceptions were not being correctly wrapped for language bindings
>>>> causing potential code crashes. This has been corrected.
>>>>
>>>> - A number of minor issues with regard to conversion between levels
>>>> and versions have been fixed. These include conversion from L3 to
>>>> L1 failing to include a compartment; stopping conversion of models
>>>> with hasOnlySubstanceUnits = true to L1; correcting conversion of
>>>> L3 models with localParameters and preventing conversion of L3
>>>> models where Events had Priorities or where the csymbol avogadro
>>>> had been used.
>>>>
>>>> - The internalConsistency validator was incorrectly reporting that
>>>> the an Event must have a listOfEventAssignments in a level 3 model.
>>>> This restriction was actually removed in SBML Level 3.
>>>>
>>>> - The MathML subset used by SBML has plus/times/and/or/xor. In the
>>>> MathML specification all these functions are nary functions i.e.
>>>> they are permitted to have any number of arguments including zero.
>>>> LibSBML had in fact restricted these functions to two or more
>>>> arguments. This inconsistency has been corrected.
>>>>
>>>> - Validation was failing to apply constraints to L3 LocalParameters.
>>>> This has been corrected.
>>>>
>>>> - Using a value for a units attribute that was not a builtin unit or
>>>> the identifier of a UnitDefinition is invalid. However, the way in
>>>> which this was reported varied according to which unit attribute
>>>> caused the issue. This has been standardized to produce an id
>>>> warning about a dangling UnitSIdRef and (if selected) unit warnings
>>>> relating to the impact of the actual attribute.
>>>>
>>>> - In certain situations libSBML would write out both the stoichiometry
>>>> attribute and a stoichiometryMath element. Since these are mutually
>>>> exclusive this should not happen. It has been fixed.
>>>>
>>>> - The code that checked for consistent namespaces when adding one
>>>> object to another was too restrictive. This has been sorted. Thanks
>>>> to Chris Myers for reporting it.
>>>>
>>>> - Conversion between levels was inconsistent when it came to dealing
>>>> with rational stoichiometry. This has been fixed.
>>>>
>>>> - The tests for the Perl bindings use of BigInt caused ActivePerl
>>>> to crash on a Windows system. A workaround to prevent this has
>>>> been put in place.
>>>>
>>>> - LibSBML class constructors currently throw exceptions rather than
>>>> create objects with invalid SBML namespace/level/version
>>>> information. This could potential result in code crashing
>>>> when using one of the language bindings. These have now been
>>>> rigorously tested and measures put in place to prevent such
>>>> crashes from happening.
>>>>
>>>> - The SBMLTransforms class now correctly evaluates piecewise
>>>> expressions.
>>>>
>>>> - The MathML infix converter now deals correctly with unary plus
>>>> and times.
>>>>
>>>> - The help text for classes and methods in the Python library were
>>>> previously unformatted, marked-up Doxygen input text, making the
>>>> help text unhelpful. We wrote a new conversion program to process
>>>> the marked-up text and produce plain-text documentation strings in
>>>> the Python library. Users can now use the standard Python 'help'
>>>> function to obtain help as expected.
>>>>
>>>> - The StripPackageConverter was not working as expected. This has been
>>>> fixed.
>>>>
>>>> * Miscellaneous
>>>>
>>>>
>>>> * Configuration/build system changes
>>>>
>>>> - As libSBML has evolved over the years the header files
>>>> included by a given code file have expanded. This makes it
>>>> necessary to recompile many files when only a single header
>>>> file has been altered. In an attempt to eliminate unnecessary
>>>> dependencies we have done an overview of the code. However,
>>>> merely replacing existing include files with those that are
>>>> actually required may cause build issues for other users. Thus we have
>>>> introduced a LIBSBML_USE_STRICT_INCLUDES flag. This flag is
>>>> not defined by default and thus no includes will change. Defining
>>>> the flag means that code will only include the minimum number of
>>>> necessary header files. We encourage people to consider using this
>>>> flag as it may become the default behaviour in later versions of
>>>> libSBML. The flag is available via the CMake build interface.
>>>>
>>>>
>>>>
>>>> EXPERIMENTAL RELEASE
>>>>
>>>> * New features
>>>>
>>>> - Code for the 'render' extension is now available.
>>>>
>>>> - All package code has been updated to use the new line/column
>>>> number reporting mechanism.
>>>>
>>>> - Package language bindings have been updated to properly wrap
>>>> exceptions and use covariant return types.
>>>>
>>>> - There is a new example with the 'layout' package that demonstrates
>>>> conversion between the layout and render L3 package representation
>>>> and the L2 annotation representation.
>>>>
>>>>
>>>> ======================================================================
>>>>
>>>>
>>>>
>>>> Please report any problems you encounter using libSBML either to the
>>>> mailing list libsbml-team@caltech.edu or using the issue tracker
>>>> for libSBML at
>>>>
>>>> https://sourceforge.net/tracker/?group_id=71971&atid=942737
>>>>
>>>> Thanks
>>>>
>>>> Frank, Sarah & Mike
>>>> ____________________________________________________________
>>>> To manage your libsbml-development list subscription, visit
>>>> https://utils.its.caltech.edu/mailman/listinfo/libsbml-development
>>>>
>>>> For a web interface to the libsbml-development mailing list, visit
>>>> http://sbml.org/Forums/
>>>>
>>>> For questions or feedback about the libsbml-development list,
>>>> contact sbml-team@caltech.edu
>>>>
>>>
>>> ____________________________________________________________
>>> To manage your libsbml-development list subscription, visit
>>> https://utils.its.caltech.edu/mailman/listinfo/libsbml-development
>>>
>>> For a web interface to the libsbml-development mailing list, visit
>>> http://sbml.org/Forums/
>>>
>>> For questions or feedback about the libsbml-development list,
>>> contact sbml-team@caltech.edu
>>>
>>
>> ____________________________________________________________
>> To manage your libsbml-development list subscription, visit
>> https://utils.its.caltech.edu/mailman/listinfo/libsbml-development
>>
>> For a web interface to the libsbml-development mailing list, visit
>> http://sbml.org/Forums/
>>
>> For questions or feedback about the libsbml-development list,
>> contact sbml-team@caltech.edu
>>
>
> ____________________________________________________________
> To manage your libsbml-development list subscription, visit
> https://utils.its.caltech.edu/mailman/listinfo/libsbml-development
>
> For a web interface to the libsbml-development mailing list, visit
> http://sbml.org/Forums/
>
> For questions or feedback about the libsbml-development list,
> contact sbml-team@caltech.edu
>

____________________________________________________________
To manage your libsbml-development list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/libsbml-development

For a web interface to the libsbml-development mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the libsbml-development list,
contact sbml-team@caltech.edu

      

SubjectPosterDate
Read Message   Release of libSBML-5.4.0 fbergman15 Feb '12 10:22
Read Message   Re: Release of libSBML-5.4.0 myers22 Feb '12 08:39
Read Message   Re: Release of libSBML-5.4.0 fbergman22 Feb '12 17:08
Read Message   Re: Release of libSBML-5.4.0 myers22 Feb '12 18:37
Read Message   Re: Release of libSBML-5.4.0  fbergman22 Feb '12 18:55
Read Message   Re: Release of libSBML-5.4.0 myers22 Feb '12 18:56
Previous Topic:Release of libSBML-5.4.1
Next Topic:python binding
Go to forum:
-=] Back to Top [=-

Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)

Please use our issue tracking system for any questions or suggestions about this website.