Tuesday, June 14, 2016

Week 8

This week involved a lot of investigation and figuring out how to use Devisers' key attributes to import modules necessary for JSBML.
Here's the summary what was done during this weekend.
  1. Removed mId and mName from variable generation
  2. Removed Id and Name methods generation from SetGetFunctions.py
  3. Added simple constructor for JSBML
My previous idea to create the jsbml class hierarchy was not sufficient to determine the import modules unfortunately. So I examined again if there's any pattern for Deviser 'type'( here is the Speadsheet), but there is none, that could be used.

Looks like the best approach will be hybrid and one idea is to use attributes' 'name' or 'xml_name', for example if it is 'compartment', then import org.sbml.jsbml.Compartment and org.sbml.jsbml.CompartmentalizedSBase or if it is 'reaction' then import org.sbml.jsbml.Reaction and associated modules.
The idea is to create a dictionary with the package name and attribute name and to use previous tree structure to detect if it is an interface or not, but this part needs to be discussed with the mentors.

1 comment:

  1. Hello, sorry you were having a hard time with this. Just in case this is still an issue, i would recommend simply using a globbing expression for now, and simply include all files. Then you won't have to worry about import statements at all. So something like:

    import org.sbml.jsbml.*
    import org.sbml.jsbml.util.*;
    import org.sbml.jsbml.util.filters.*

    would do just fine to import all of the core jsbml features. Then you would simply use another globbing expression for the package itself that you are generating and potentially another one for other packages used.