The Week 3

Greetings,

We (me, Andreas and Matthias) met for the third time on 28th May, and it was again, a nice and wonderful meeting. By this time, I had already submitted two pull requests for two issues which were part of my project and had completed half of the Milestone 1.3. Some extra work has also been done (like the addition of validation function for JSON instances) which was required at this point of time. Both of these issues required updating the JSON schema and when I updated it, some test cases which were marked as xfail (python way of mentioning that the test case is expected to fail due to some reason) also got passed. During the meeting, mentors reviewed the code and provided some suggestions. Matthias made the changes, committed them, and pushed them on the Github.

In the meeting, we discussed the work to be done in the next week. Milestone 1.3 had two more issues left to be solved before 8th June. But, since we started work during community bonding due to COVID-19, we expected to finish it before 1st-2nd June. Both of these issues were related to the annotation part of the models. They basically required more sophisticated parsing methods to read and write annotations. The annotation format is not currently in a uniform format. Some represent them like a python dictionary, and some as a python list. Inside it, the identifiers are represented as a list if there is more than one identifier corresponding to the provider, and as a string, if there is a single identifier corresponding to the provider. So these issues simply required to check how these are represented and then convert them in a uniform and most suitable format. Also, we decided to keep things backward compatible as much as possible, and handling both of these issues introduced no backward incompatibility.

Mentors further suggested me to make the milestones corresponding to the project in the Github itself, which we have written in the proposal because then it will be easy to know the progress of the work which we have done. So I moved the milestones in the Github. We further discussed the annotation class, which is one of the main parts of this project. The annotations right now are represented as a simple python dictionary without any internal restriction. However, simple dictionaries are just not enough to handle the complex annotations, and we decided to make a separate annotation class for handling it. However, we agreed that we will try to make this class behave as much like a dictionary so that things remain convenient to handle for the old users and COBRApy community too. So simply put, we will have a separate class for annotation, but that class will behave like a dictionary. Matthias explained it in a humorous way by saying, "If something looks like a duck, and behave like a duck, then we can claim that it is a duck, can't we?". So finally, we decided that I shall start at least some working on this class, as this is the next scheduled task according to the proposal. And this marked the end of the meeting.

Thanks for the read. I hope you are enjoying it.
See you next week ;)

Comments

Popular posts from this blog

The Week 12

The Week 13

The Final Report