The Week 11

Greetings,

This week, Phase II has ended, and we have covered almost all the major tasks of our project, except for one i.e modifying the JSON schema according to the newly implemented formats like metadata, FBC-v3, and unsupported packages inside JSON like Groups. So this week, I am required to work on the JSON schema, along with a few modifications in the "UserDefinedConstraint" class.

One thing that mentors noted in the Contraint class was that the "id" attribute of constraint objects is not a required one, according to the doc. It is optional for users to set the id for constraint objects. However, since COBRApy uses a self-made data structure i.e DictList, to store "listof..." type components of SBML, which uses the id attribute of the object to map the actual COBRA object, id's were a must for COBRA objects if we want to store them inside a DictList. So to make sure that each COBRA constraint object has an id, we are generating one internally if the user does not set the id for that constraint (or constraint component).

Along with this, Matthias also proposed to have a helper function for making user-defined constraints, which will just take the constraint expression along with lower and upper bound and add the constraint automatically to the model. This will simplify the procedure of adding new constraints in the model, and will also make constraint to look more readable and verbose.

The COBRApy maintainers also changed the project structure and made some changes, which I incorporated this week. The mentors shall go through the code once more, and we will then send a big pull request to the main COBRApy repository. So most of the time of next month will be spent in making the required changes from COBRApy maintainers and documenting the code more properly.

That's all for this time, see you next week.

Comments

Popular posts from this blog

The Week 12

The Final Report

The Week 13