newt icon indicating copy to clipboard operation
newt copied to clipboard

Infoboxes not rendered correctly after SBML export-import

Open hasanbalci opened this issue 5 years ago • 6 comments

Position, size and even content of the infoboxes are not exported/imported correctly. To reproduce:

  • Add a macromolecule to an empty map.
  • Add a state variable to that macromolecule.
  • Export map as SBML.
  • Then import same map as SBML.

Before export: image After import: image In the above example, only position and size of infobox are different, but sometimes content also becomes empty after import. One more point to notice is even though there is no label on the node before export, a label is added after import.

hasanbalci avatar Nov 13 '19 11:11 hasanbalci

@ugurdogrusoz @hasanbalci Location is working fine now, but the SBML service itself has a problem with state variables text (value@variable). For example, when trying to convert the following to SBML: sbml1

The data we send to SBML service is sbml export request.txt

and we get the following as response sbml export response.txt Note that only "bilkent" is present and "ivis" is completely omitted.

and if we use the service to convert the sbml file it created in the previous step it gives the following response: sbml import response.txt

Note that now we don't have any text in the state variable.

nasimsaleh avatar Dec 25 '19 11:12 nasimsaleh

@hasanbalci Please verify this and I'll refer the issue to Luxembourg guys as a bug.

ugurdogrusoz avatar Dec 25 '19 11:12 ugurdogrusoz

I think, not only state variables but also units of information have the same problem. Just try to export a map that includes only a macromolecule with a unit of information on it, the text of unit of information is not seen in the exported sbml file. It seems like a problem of the service we used.

hasanbalci avatar Dec 30 '19 08:12 hasanbalci

Reported to Minerva guys, waiting on an answer

ugurdogrusoz avatar Dec 31 '19 11:12 ugurdogrusoz

Dear @hasanbalci, @nasimsaleh, @ugurdogrusoz

I'm minerva developer. I will take a look and try to find a solution.

The problem with infoboxes is that we try to normalize it to something meaningful - posttranslation modifiication like phosphorylation, ubiquitination, at specific location. When the resolution cannot be made I ignore the problematic string. For instance "P@T102" is considered as phosphorylation at position T102. However, when the input looks like: "ivis@billkent" the "ivis" part cannot be normalized properly.

Do you have any naming convention that can be considered as valid?

For the reference here is an issue created on minerva bugtracker (https://git-r3lab.uni.lu/minerva/core/issues/1062)


Can you also provide me with sbgn file containing units of information?

piotr-gawron avatar Jan 02 '20 08:01 piotr-gawron

@piotr-gawron Attached is an SBGNML file with only a few nodes (two macromolecules, one complex and one compartment) with a few infoboxes (units of information and state variables). infoboxes-example.sbgn.txt

We have no restrictions on the naming of state variables (we store value and variable separately in SBGNML) and units of information.

ugurdogrusoz avatar Jan 14 '20 06:01 ugurdogrusoz