Week 7

The last meeting was held on Friday, 5th July. Unfortunately, I was not able to join the meeting due to a family emergency. I would like to thank Thomas for updating me with the discussions in the meeting.
Discussion in the meeting (5 July) : 
  • The core of AnnotateDB is finished and is available as Docker containers. Probably, ModelPolisher will use the database by querying annotatedb as postgres database.
    AnnotateDB may be used in the future for BiGGID  resolution, and to annotate elements in models.
  • Release versions of ModelPolisher maybe distributed on docker-hub in future.
  • TestCode for current code of BiGGID resolution: Can set up a small DB instance, and fill it with the subset of data necessary from BiGG to query against, i.e. feed the data into the database in the test setup code (BeforeClass), test your code, remove them again in the tear-down phase (AfterClass). Some script creating the database might be necessary here.
    We can use a small model containing only some species, reactions, etc. for testing, as discussed already.
  • MFL has released version 0.5.3, so can update the dependency to the stable version and remove the SNAPSHOT repository from the build file.
  • Tasks for next week:
    • Complete containerization of ModelPolisher.
    • Integration of AnnotateDB
    • TestCode for the current code of BiGGID resolution.
Two more meeting were held during the week:
  • With Thomas (9th July): We discussed how we can set-up the database instance required for the test cases. Currently, no strong solutions have come up. I plan to work on the test cases after containerization and integration with annotatedb.
  • With Matthias (12 July): I showed him my work regarding containerizations of the BiGG and ADB database. he had the following suggestions:
    • Documentation about how to use ModelPolisher using Docker.
    • Adding example models in the project.
    • Containerize java dependency of ModelPolisher also.

Progress during the week:
I made major progress in the containerization of ModelPolisher. Initially, I had planned to have just one image for whole ModelPolisher, but as I got to know from my mentors, that it might be the easy way but is not a recommended practice as we must have different containers for each service and should use pre-built images available on docker-hub as base images for each service.
So, then I started to explore the various possibilities and decided to have two separate containers for each database, BiGGDB and ADB (I have attached the link to the Dockerfiles).

This was completed successfully. Further, I also built a container containing the java project (jar file). See here. To bring up the containers necessary for ModelPolisher, I used docker-compose (here is docker-compose.yml).

Now, the user can use ModelPolisher as:
  1. Clone project from Github.
  2. Run `docker-compose up`
  3. Run `docker exec modelpolisher_java -v <path to models in host computer>:./test java -jar ModelPolisher-noDB-1.7.jar --input="./test/<modelName>" --output="./test/<model output name>" --annotate-with-bigg=true --host=0.0.0.0 --port=1310 --user=postgres --passwd=postgres --dbname=bigg`
This will polish the model and will save it in the same directory.

Integration of Annotatedb: I have proposed to add annotations from annotattedb in all cases and except annotation of elements, polishing will be done from BiGGDb only. For polishing from BiGGDB, we need BiGGId, which if not present will be obtained by the existing code only.

Further Targets:

Before Sunday (14 July):

  • Test containerization completely.
  • Add updates to README.
  • Solve the issue of restructuring ModelPolisher.
  • Open PR for the above tasks.
  • Figure out and test queries for getting annotations from ADB.
Before Wednesday (17 July):

  • Complete integration of AnnotateDB.
  • Open PR for same.

Thank You.



    Comments

    Popular posts from this blog

    Final Report: GSoC 2019

    Week 12

    Week 9, 10