Tuesday, May 31, 2016

CellDesigner → SBML

Hello all,

Last week, I have created APIs from schemas.  Using the APIs, I have tested if I can get the attributes from XML. With the test, I have figured out that I could not obtain the celldesigner:reactionType attributes (already fixed).

For the past week,  I have been implementing the converter that converts CellDesigner annotation to SBML Layout. The brief outline of the converter is as follow.

  1. Read XML using the generated APIs
  2. Read XML using JSBML
  3. Copy datas from 1. to the wrappers which were implemented last week
  4. From 3. copy the necessary datas into 2. 
So far, I have implemented conversion of compartment and speciesAlias. Figures shown below are the original model created with CellDesigner and the output model visualized with SBML Layout Viewer. As you can see, most diagrams are in the same layout. However the text for each diagram still needs some adjustments. 

For next week, I will be implementing the conversion of reactions (the lines show in the diagram). And I am hoping to  start the conversion from SBML layout to CellDesigner.

Tuesday, May 24, 2016

Coding Period begins

Hello everyone,

This week has been the most productive so far and I was able to start coding on schedule.

Last week,  I had some trouble generating APIs from 3 schemas (CellDesigner.xsd, sbml-level2-v4.xsd, and  sbmlCellDesignerExtension_v4_2.xsd) with JAXB. By removing the annotation definition in sbml-level2-v4.xsd and changing the element in CellDesigner.xsd, my mentor and I have succeeded generating the APIs from schemas.  It still needs testing but I was able to obtain the CellDesigner extension from species. Below are all the classes that have been generated.

For the generated APIs, I have been creating some utility classes for easier use. Since CellDesigner annotates model, compartment, species, reaction,  speciesReference, and modifiedSpeciesReference, I have created wrapper classes to easily access the extended attributes for all of them. And also for speciesAlias.

For next week, I will do mainly two things. First is to test the generated APIs for the CellDesigner extended attributes. Second thing is to create classes that clones from unmarshalled data structure to the wrapper classes. Once I have checked that all datas are stored properly, I will start implementing the actual converter.

Thursday, May 19, 2016

Meeting May 18

Hello all,

As I have mentioned in the previous blog post, my mentors and I needed to figure out a way to create a API for CellDesigner annotation using 3 schema files (CellDesigner.xsd, sbmlCellDesignerExtension_v2_5.xsd, and sbml-level-2-v1.xsd). In yesterday's meeting, we have come up with 3 ideas.

  • remove the definition of annotation in the sbml-level-2-v1.xsd to remove the conflicts with other schema. (Thanks to Dr. Keating and Dr. Bergmann)
  • create a schema file from CellDesigner classes
  • use CellDesignerAnnotationParser which manually parses CellDesigner annotation
For this week, I will be working on the first plan and leave the two other options as a backup plan.  I will start by  familiarizing myself to XML schema and hopefully solve this schema problem by next week.

Tuesday, May 17, 2016

Week 3

Hello everyone,

sorry for not posting last week. I have been a bit busy with other stuff.

So far I have done the following.
  • Downloaded JSBML maven project 
  • Created sample program to try out the API for the layout
  • Read GSoC 2014 project code by Ibrahim Vazirabad and his blog

As the first step of my project, I must figure out a way to create an API for CellDesigner annotation in a SBML file.  Since it will be a standalone software,  the software can not use the CellDesigner as Ibrahim did.  After this has been resolved,  I will be working on to convert the CellDesigner annotation to pure SBML with layout extension.

In Ibrahim's project,  he mentioned how CellDesigner classes are mapped to that of SBML. I thought it will be useful so I will post it here for future reference.

Also to check if my conversion is correct, the SBML Layout Viewer by Dr. Frank Bergmann may be come in handy.