EU Codefest 2014

18-21 September 2014, at EMBL-EBI, Cambridge

by Bruno Viera, PhD Student, School of Biological and Chemical Sciences, Queen Mary University London

attending on behalf of Yannick Wurm (SSI Fellow and Lecturer at QMUL), as one of his PhD students.

Highlights

  • Met Martin Page (@biodevops) and he became a Bionode contributor. Others that showed interest might become Bionode contributors later.
  • Met Toshiaki Katayama (@tktym) and he might contribute to a bionode-semantic module.
  • Saw Thomas Down (@dasmoth) again, and together with Martin Page we discussed collaboration between Bionode, Biodalliance and GeeFuTu.
  • I was asked to give a unplanned talk/demo at the end of the event about Bionode and Dat due to the interest generated.
  • I influenced some people to open source more, in particular Toshiaki Katayama regarding togows.org and Chris Maloney (@Klortho) regarding NCBI API.
  • I suggested a change to the BioJS registry that increased the visibility of many modules.
  • I became more aware of what others are doing in BioRuby and BioJulia.
  • I distributed many Bionode and Dat stickers that successfully ended up on the back of laptops.

Event report

This is brief report of what I did at EU CodeFest and will be soon followed by a bigger blog post were I will also talk about the AllBio: Open Science & Reproducibility Best Practice Workshop to which I was also invited and which took place in the same week.

Before EU CodeFest, I founded the open source project Bionode, which aim to build small, highly reusable bioinformatics modules that also work as independent command line tools with streaming functionality. This allows to easily build scalable and complex pipelines that can easily be installed anywhere or integrated in other tools. Each module follows the best practices in modern/agile (web)development (e.g., testing, continuous integration).

Due to my work with Bionode I also got involved on Dat ("git for data") which has a similar software architecture (Node.js, Streams, CLI) and both projects influence each other a lot.

My original goals for going to EU CodeFest were:

  • Networking
  • Learn from other Bio* lib developers experience
  • Hack on Bionode modules and get more contributors/users
  • Collaborate with BioJS for code re-usage

Networking was such a success that it hindered getting any coding done, but hopefully will have a much greater impact in medium/long term than any code produced in a two day hackathon.

Since EU CodeFest is mostly a hackathon, there were no talks planned beside a tutorial on the first day by the BioJS team (the most represented project there). However, the interest Bionode generated during those two days culminated with having me give a spontaneous requested talk/demo about it at the end of the event (slides).

Some discussion then continued to the post-event dinner.

I was the only one that brought stickers to EU CodeFest and it was nice to see them go quickly and end up on someone's computer. I believe they played an important part in generating the initial snowball of interest.

I met Martin Page, another bioinformatician/JavaScript developer, who is very interested in Bionode and he worked a little bit on the webpage Bionode during the hackathon. Together we met twice with Thomas Down, the developer of Biodalliance which works at EBI and that I have met on several occasions in the past. Together we had interesting discussions about our projects, in particular in the area of genome browsers and annotation. This might result in collaboration for common JavaScript code re-usage between our projects.

I also had a great chat with Toshiaki Katayama (Ruby developer, worked on NCBI module and interested in semantic web) to the point that I might have unintentionally converted him to Node.js. He is organizing Biohackathon in Japan and says that they might work on a bionode-semantic module. I also influenced him into open sourcing and making more accessible the server code of some the web services he administers, like togows.org.

Chris Maloney (NCBI) also approached me at the end of my talk saying I was right about some the complaints I made about the NCBI API in my talk and that it would be awesome if we could somehow collaborate. He seemed very disappointed that NCBI has not been contributing a lot to open source and pushing code to GitHub, and that maybe somehow we could try to change that culture.

Since I did not have time to code on Bionode, I also did not code for BioJS (they seemed to be mostly working on the common registry, when not networking). However, I commented to them that having to do a pull request to add one tool to the registry added more resistance when they could just look for specific tags in the Node.js registry (like "biojs", "bionode" and "biology"). They agreed and implemented that change which immediately increased the visibility of many modules.

Overall, I was very successful at promoting Bionode, which is a project that has a philosophy in the scope of what the SSI is promoting, and this might attract more contributors or serve as an inspiration for other projects. I was able to inspire more people into doing open source, and had some great discussions that will result in better software due to what I learned and/or the people that might get involved.