Menu

#16 No timestamp when creating SEDML

1.0
pending
nobody
None
2016-03-23
2016-03-08
No

Is it possible to not write timestamps in the headers of the files:

<!-- Created by phraSED-ML version v1.0.1 on 2016-03-08 12:19 with libSBML version 5.12.1. -->

or provide an option to create the file without timestamp.

I create a large amount of files on the fly with antimony and phrasedml which are managed in repositories. Due to the timestamps every commit has 100s of files, because all the changes in the timestamps are part of the commits. Even if nothing changed.

I also wrote timestamps & model histories before, but it created more problems than it was useful. Having the files in a repository is a much better solution and one can always access the exact time of creation/modification.
Much more usefull information is the commit hash/version which was used to build the version of phrasedml.

Discussion

  • Matthias König

    Matthias König - 2016-03-08

    Before every tellurium commit I run all the tests and the tests create many SEDML/SBML files via antimony/phrasedml. So every of my commits to tellurium is full of timestamp changes.
    See for instance
    https://github.com/sys-bio/tellurium/commit/ec8422b397d1b1c49516165c8d5ce36384fdc93c
    with all sedx and sedml changes due to timestamps

     

    Last edit: Matthias König 2016-03-08
  • Lucian Smith

    Lucian Smith - 2016-03-08

    This is something that libSEDML does automatically. If you can get Frank to add in an option to the SEDML writer to suppress writing the timestamp, I'd be happy to use it in phrasedml.

     
  • Matthias König

    Matthias König - 2016-03-08

    Will file the issue with libSEDML.
    Thanks.

     
  • Matthias König

    Matthias König - 2016-03-11

    Can be closed. Is an SBML issue.

     
  • Lucian Smith

    Lucian Smith - 2016-03-21
    • status: open --> pending
     
  • Lucian Smith

    Lucian Smith - 2016-03-21

    Now that libSBML allows this (and, via it, libSEDML), SVN now will not write out the timestamps by default, and provides a function to let the user set it one way or the other, should they wish.

     
  • Matthias König

    Matthias König - 2016-03-22

    Hi Lucian,
    builds, but when trying to import the python bindings I get undefined symbols

    import phrasedml
    ---------------------------------------------------------------------------
    ImportError                               Traceback (most recent call last)
    <ipython-input-1-d8f9eda63d50> in <module>()
    ----> 1 import phrasedml
    
    /usr/local/lib/python2.7/dist-packages/phrasedml/__init__.py in <module>()
          7 """
          8 
    ----> 9 from phrasedml import *
         10 
         11 __version__ = LIBPHRASEDML_VERSION_STRING
    
    /usr/local/lib/python2.7/dist-packages/phrasedml/phrasedml.py in <module>()
         26                 fp.close()
         27             return _mod
    ---> 28     _phrasedml = swig_import_helper()
         29     del swig_import_helper
         30 else:
    
    /usr/local/lib/python2.7/dist-packages/phrasedml/phrasedml.py in swig_import_helper()
         22         if fp is not None:
         23             try:
    ---> 24                 _mod = imp.load_module('_phrasedml', fp, pathname, description)
         25             finally:
         26                 fp.close()
    
    ImportError: /usr/local/lib/python2.7/dist-packages/phrasedml/_phrasedml.so: undefined symbol: setPhrasedWriteSBMLTimestamp
    
     
  • Lucian Smith

    Lucian Smith - 2016-03-22

    This was caused by a mismatch in function names between the header file and the .cpp file, which is now fixed. Thanks!

     
  • Matthias König

    Matthias König - 2016-03-23

    Everything working. Finally no more timestamps ;)
    This can be closed.

     

Log in to post a comment.