Wednesday, July 27, 2016

Week 13

Hello everyone,


This week I have been working on the reaction conversion from SBML Layout to CellDesigner annotation. Last week, I have completed converting reactions with 1 reactant and 1 product with 1 modifier.  For this week, I have completed converting reactions with multiple reactants/ products and with bezier curve.


While working on these conversions, I encountered two problems. First is defining bezier curve with one reactant and one product. Currently, I can only convert bezier curves only when there are multiple reactants and products like the second model above. I could not figure out a way to define a bezier curve in this situation. The second problem arises when the reaction contains the same species in both reactant and product. Every glyph is mapped to a unique SpeciesAnnotation. When working on the this kind of reaction both reactant and product were referencing the same species annotation. As a result, the output model would turn out as like the model below. To solve the second problem, I had to change up the main algorithm for conversion from SBML Layout to CellDesigner.


Model with same species as reactant and product


So, here is the chart for converting SBML Layout to CellDesigner Annotation. Blue means it's completed, red means it's not yet completed, green means it's unconvertable.




Since there is only 3 weeks left for GSoC, I have created a brief todo list.  Each tasks are ordered in priority levels, where the highest priority task coming up top. From now on, I will be mostly following this list.



Tuesday, July 19, 2016

Week 12

Hi all,

This week,  I have been a bit busy but I was able to start on converting the reactions. So far,  the converter is able to convert simple reactions without any bending with modifiers.



The progress so far for converting the SBML Layout to CellDesigner is listed below. For next week, I will be starting on more complex reactions such as those with bezier curves or multiple line segments.

Wednesday, July 13, 2016

Week 11

Hi all,

For the previous 2 weeks, I have been trying to get the CellDesigner to read the converted model from SBML layout. This week, I have finally got some visual result. I can now open the converted model with CellDesigner.

Species original

Species converted

Here are the diagram on how much the conversion is completed. Blue means it's completed, red means it's not yet completed, green means it's unconvertable. After I convert the catalyzed reaction on species, I will start on the reaction conversion.





Also, last week I found out that the math equation was converted incompletely when unmarshaled with JAXB. When converting SBML Layout to CellDesigner Annotation,  the output model will be generated using JAXB having incomplete math equation. To overcome this problem, the converter will copy the math equations once the model is outputted with JAXB. The chart below shows the overview of the converter.


Wednesday, July 6, 2016

Week 10

Hello all,

This week, I have been working on the actual conversion from SBML Layout to CellDesigner Annotation.  I have started the conversions for species and compartment using the informations from their glyphs. The chart below shows how much I have covered so far for conversion. Blue means it's completed, red means it's not yet completed, green means it's unconvertable.




Another thing I have been doing is that I have been creating a command line interface.

git clone https://github.com/funasoul/celldesigner-parser
mvn install
java -jar celldesigner-parser-0.0.1-SNAPSHOT-jar-with-dependencies.jar  input.xml [output.xml] [CD2Layout / Layout2CD]

First create the runnable jar file with maven. Then run the jar with arguments input file, path to output (optional), and which direction CellDesigner to Layout or Layout to CellDesigner (optional).


Also, I tried to provide a visual aid on the progress I have made, however CellDesigner can't read my converted model yet. Currently something is wrong with the Species Alias and throws an exception. For next week, my first goal is to get some graphical output on the converted model.

Here are the result I get for my current implementation.

Layout model

CellDesigner Annotation Model



One last thing. I have noticed an error when unmarshaling the SBML file.  In the kinetic law, the math equation is converted in the wrong form.

Original Model is written like on the below.
    <mathml:math>
                        <mathml:apply>
                            <mathml:times/>
                            <mathml:ci> k1 </mathml:ci>
                            <mathml:ci> s1 </mathml:ci>
                        </mathml:apply>
                    </mathml:math>

When unmarshaled, the duplicating ci attribute is removed.
   <mathml:math>
                        <mathml:apply>
                            <mathml:ci> k1 </mathml:ci>
                            <mathml:times/>
                        </mathml:apply>
                    </mathml:math>


So whenever I convert the model to SBML Layout to CellDesigner Annotation, it changes the equation.  I presume something might be wrong with the MathML schema (sbml-mathml.xsd).