shalinshah1993 / SBSCL

The Systems Biology Simulation Core Library (SBSCL) provides an efficient and exhaustive Java implementation of methods to interpret the content of models encoded in the Systems Biology Markup Language (SBML) and its numerical solution.
https://draeger-lab.github.io/SBSCL/
GNU Lesser General Public License v3.0
0 stars 2 forks source link

Incorrect graphical output for some sedml tests #60

Closed shalinshah1993 closed 6 years ago

shalinshah1993 commented 6 years ago

The tests that do not give correct answers:

The graphical outputs are exactly the same for all the repeated tasks i.e. the individual iterations don't apply changes from the listOfChanges sedml element.

shalinshah1993 commented 6 years ago

The source of this bug is jlibsedml's ModelResolver class. As per description, SEDMLDocument.getModelString should apply all the list of changes to the model ( including repeatedTasks compute changes) but no changes are applied.

This is because jlibsedml's computeChange function only supports changing:

- CHANGE_ATTRIBUTE_KIND 
- REMOVE_XML_KIND
- ADD_XML_KIND
- NO_NAMESPACE
- CHANGE_XML_KIND

However, as per their documentation of Change class, there can be following categories of changes.

- SEDMLTags.CHANGE_ATTRIBUTE_KIND
- SEDMLTags.CHANGE_XML_KIND
- SEDMLTags.ADD_XML_KIND
- SEDMLTags.REMOVE_XML_KIND
- SEDMLTags.COMPUTE_CHANGE_KIND (missing in their implementation, required to comute model changes for each iteration of repeated tasks)
- SET_VALUE_KIND

@matthiaskoenig @draeger do you guys know who is working on jlibsedml who can respond to this issue?

I see Richard Adams maintains jlibsedml and he also wrote code for SBSCL in the past. Can you connect me with him?

draeger commented 6 years ago

I don't currently have any contact to @otter606 and am not aware of the current state of jlibsedml.

otter606 commented 6 years ago

Hi I got the notification but have not worked on jlibsedml for years, I think Frank Bergmann was maintaining itm, but this was some years ago. Richard

On Tue, Jul 24, 2018 at 9:47 AM, Andreas Dräger notifications@github.com wrote:

I don't currently have any contact to @otter606 https://github.com/otter606 and am not aware of the current state of jlibsedml.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shalinshah1993/SBSCL/issues/60#issuecomment-407330242, or mute the thread https://github.com/notifications/unsubscribe-auth/AJA6nYKBDgC7AwVDNkBGRyY3l-aOJ4mQks5uJt8WgaJpZM4VbK9Z .

draeger commented 6 years ago

Maybe @fbergmann can give more information?

fbergmann commented 6 years ago

I am not actively using jlibsedml. I'd be happy to propagate any code changes to the repository, or add another developer to the list. Chris Meyers was the last to commit to the project.

draeger commented 6 years ago

@cjmyers: what is the current state of jlibsedml?

cjmyers commented 6 years ago

Stalled. There is no one currently actively developing it. It would be great to have someone come along and champion it.

On Jul 25, 2018, at 5:25 AM, Andreas Dräger notifications@github.com wrote:

@cjmyers https://github.com/cjmyers: what is the current state of jlibsedml?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shalinshah1993/SBSCL/issues/60#issuecomment-407736711, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWD96U4wRYwWzCFhBQ5ohmBNR-8ASjZks5uKGO5gaJpZM4VbK9Z.

shalinshah1993 commented 6 years ago

Since no one actively managing jlibsedml, I just added my own code for working with SEDMLTags.COMPUTE_CHANGE_KIND. Currently, the code uses string processing functions to extract SBML parameter from XPath and it updates them if SetValue element specifies a range for the parameter.

After pushing https://github.com/shalinshah1993/SBSCL/commit/b64b096628d925cfc710d8dd7829dba584afa7a0

The test cases that don't work:

Two test cases that are giving unstable results:

Their outputs are as under. My guess why we get different results is because of the use of different simulation algorithm. We use Rosenbrock solver instead of what the SED-ML files ask.

image image

shalinshah1993 commented 6 years ago

@cjmyers Do you have a Github repo that i can send pull request to?

On Jul 25, 2018, at 11:30 AM, cjmyers notifications@github.com wrote:

Stalled. There is no one currently actively developing it. It would be great to have someone come along and champion it.

On Jul 25, 2018, at 5:25 AM, Andreas Dräger notifications@github.com wrote:

@cjmyers https://github.com/cjmyers: what is the current state of jlibsedml?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shalinshah1993/SBSCL/issues/60#issuecomment-407736711, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWD96U4wRYwWzCFhBQ5ohmBNR-8ASjZks5uKGO5gaJpZM4VbK9Z.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

fbergmann commented 6 years ago

so far sources are kept in sf svn ... but if you send me a patch i will apply it happily

shalinshah1993 commented 6 years ago

This depends on #55

shalinshah1993 commented 6 years ago

This issue was moved to draeger-lab/SBSCL#7