GSoC’18 with InterMine — Final Evaluation

Aman Dwivedi
InterMine
Published in
4 min readAug 11, 2018

It has been three months since the start of GSoC’18 Coding Phase and this is the last week of it. GSoC was a great experience for me. My mentors Yo and Nadia were extremely supportive throughout the GSoC phase. Though, I’m writing this post for the purpose of final project submission, but it will also serve to be a summary of my whole GSoC experience. This post is in continuation to:

  1. https://medium.com/@dwivedi.aman96/google-summer-of-code-2018-b0dfa951b867
  2. https://medium.com/@dwivedi.aman96/gsoc-18-with-intermine-week-1-a1a6d69303fa
  3. https://medium.com/@dwivedi.aman96/gsoc-18-with-intermine-week-2-9ba0bc6fa9ce
  4. https://medium.com/@dwivedi.aman96/gsoc-18-with-intermine-week-3-3f8f26af33c8
  5. https://medium.com/@dwivedi.aman96/gsoc-18-with-intermine-first-evaluation-1ceaa23c8735

(Please have a look at all the above mentioned links before reading further)

InterMine is a data warehouse system and there are around 30+ instances of InterMine all around the world. InterMines consist of huge datasets of biological and genetic data. Till now, if a person wanted to search for a gene in multiple InterMines, he/she had no other choice than going to every InterMine portal and do the search. It was very difficult for a person to manage so many portals simultaneously and compare the results and filter them to get the required items. This whole process will get simplified by the use of Cross InterMine Search Tool.

Since, I started this project from scratch, I had to take many of the design decisions before starting with the coding phase. My mentors were always helpful in providing feedback and suggestions. Our first priority was to simplify the searching mechanism into a single application doing the heavy-lifting. Secondly, the performance of the application was of a lot more concern. Also, the application had to be easy to use and capable of solving the problems faced by the biologists. So, keeping all these things in my mind, I discussed the plan with my mentors before starting the coding part.

I was the only contributor during the whole coding phase so there was a lot of responsibility on me. My efforts were the deciding factor whether the final product will be useful for the community or not. And I can proudly say that the project has been successfully developed. The whole source code can be found here and the deployed project can be found here. Apart from this, you can also find the InterMine’s forked copy of my repository here.

I have implemented almost all the features and functionalities which I had mentioned in my project proposal. Though, there were a few things which were scrapped off during the coding phase since they were of no use and were making the application complicated for the user.

I will continue contributing to the project and will always be available to help in future.

The application provides a web interface for the users to select the InterMine instances which are loaded on the application by the InterMine Registry API. If a person doesn’t know much about genetic keywords or InterMines, he/she can take use of the box on the homepage containing some hints, which when clicked start the whole search process automatically.

I have also added a Help Tour feature which tells the user about the various components of the application. A layman user can easily click on the Help Tour button and it will start a tour mode which explains each section of the application.

There are various filters based on search relevance score, category and neighborhood. These filters are very much helpful as they can be used to explore deeper into the result data very easily. Features like filtering, help in exploring the InterMine data very easily and quickly.

Please have a look at my previous blog posts which are mentioned on the top of this article in order to understand the various components of this project.

I have also generated a documentation for the project which can be found here.

Documentation

--

--