GraphConnect – a Neo4j conference

neo4jconference

We were in London to attend GraphConnect, the annual conference organised by Neo4j.
It was fantastic to meet so many people around the world enthusiastic about graph databases, and a lot of people that, like us, are prototyping/exploring Neo4j as possible alternative to relational databases.

They have announced the release of Neo4j 3.2 which promises to bring a huge improvement in term of performance; the compiled Cypher runtime has improved the speed by ~300% for a subset of basic queries and the introduction of native label indexes has also improved the write speed.

They have also added the composite indexes (that InterMine uses a lot) and the use of indexes with the OR operator. We highlighted the problem months ago on stackoverflow and we were so surprised to see it fixed. We have to update our “What we didn’t like about Neo4j” list by removing 2 items. We’re really happy about that!

It was a pleasure to attend Jesus Barrasa’s talk on debunking some RDF versus property graph alternative facts. He demoed how a RDF resource does not necessarily have to live in a triple store but can also be stored in Neo4j. Here are part1 and part2 of “Neo4j is your RDF store”, a nice post where he describes his work in more detail.

Another nice tool they have implemented is the ETL tool to import data from a relational database into Neo4j by applying some simple rules.

The solution-based talks demonstrated how Neo4j is being used to solve complex, real world problems ranging from travel recommendation engines to measuring the impact of slot machine locations on casino floors. While the topics were diverse, a common theme across their respective architectures was the use of GraphAware’s plugins, some of which are free. One plugin that looks particularly interesting is the Neo4j2Elastic tool which transparently pushes data from Neo4j to ElasticSearch.

During the conference, we discovered that there is a Neo4j Startup Program that allows to have Neo4j enterprise edition for free. Not sure if we count as a start up though!

Overall, we’re super happy with the improvements Neo4j has made, and super impressed with Neo4j’s growing community. Looking forward to meeting with Neo4j team in London, at their meetup, and sharing our small experience with the community!

GSoCers Assemble! Announcing the InterMine GSOC 2017 students

Google Summer of Code is officially open as of 16:00 UTC today! This year InterMine will have five students coding over the summer, with five projects:

gsoc-icon-192

  • InterMineR will be getting better docs and hopefully submitted to R repos. Konstantinos Kyritsis will be working on this with the help of InterMine mentors Julie and Rachel.
  • Our Android App will get a younger sibling in the form of an iOS app, thanks to Nadia Yudina. I’ll be the primary mentor for this project.
  • We’ll finally have a proper registry of all the great InterMines out there, brought to you by Leonardo Kuffo with Daniela mentoring the project.
  • Samyadeep Basu will be looking at an ‘InterMine Similarity project’ – given a Gene (or other entity) from InterMine – are there any other interesting entities related to it in some way? Josh is the lead mentor on this project.
  • Yash Sharma will be working on creating Neo4j-InterMine API endpoints under Sam Hokin‘s mentorship.

We wish we could have accepted more of you. In total we had more than 40 students interested in GSoC 2017 with InterMine, resulting in around 30 finalised applications. Many of the applications were brilliant – far more than we could possibly have accepted. Deciding who to accept was really tough, and even if you didn’t get a place in GSoC with us you’re still entirely welcome to contribute to any of our projects if you had any ideas.

Suggestions for accepted students

Congratulations on being accepted. We’re really glad to have you on board. Please have a quick read through our GSoC guidelines to get started.

During the community bonding period, here are a few ideas for getting involved.

  • Find out more details that might pertain to your project (obviously) – investigate the API or work on bugs
  • Project management – in your project’s GitHub repo create milestones, tickets, project boards as appropriate.
  • Write an intro blog post about yourself & your planned work (to be posted here and/or a personal blog we could link to).
  • Come hang in the chat (below).

Non-GSoC InterMine community: you can play too!

We’ve created a couple of chat rooms at chat.intermine.org. We’ll be encouraging our GSoC students to hang out in the #general channel, and you’re welcome to, as well. The students are from all around the world – come make them feel at home!

The FAIR journey

backpack

It’s time to celebrate. After some hectic weeks preparing and organizing the InterMine conference we can now take a deep breath and and get ready for our new BBSRC funded project to make data more FAIR.

It will be a short rest, just the time to check that we have everything we need to start this long journey but also to savour the excitement before the departure towards FAIRness, a destination that will enhance InterMine compliance with FAIR principles; InterMine has been at the forefront of getting research data into the hands of scientists for over 10 years and we’re excited to support the formalisation of these principles.

As team, we recognized with no doubts, the need to implement the FAIR data principles, making biological data stored in InterMine instances more Findable, Accessible, Interoperable, and Reusable by both humans and machines,  as well as the huge impact that this achievement might have on the quality of biological data served by InterMine. Implementing some mechanisms that make data stored in InterMine FAIR, we provide a unique opportunity to make ALL data collection, served by nearly 30 public biological InterMine instances worldwide, FAIR.

This is a great chance and we didn’t want to miss it!

Here some important milestones we want to achieve along the journey:

  • Generate globally unique and stable URIs to identify InterMine data objects and register them in community bioinformatics repositories (for instance bio.tools and Identifiers.org) in order to provide more findable and accessible data.
  • Apply suitable ontologies to the core InterMine data model to make the semantic of InterMine data explicit and facilitate data exchange and interoperability
  • Embed metadata in InterMine web pages and add extra metadata to InterMine’s existing structured query results to make data more findable
  • Provide a RDF representation of data stored, lists and query results, and the bulk download of all InterMine in RDF form, in order to allow the users to import InterMine resources into their local triplestore
  • Provide an infrastructure for a SPARQL endpoint where the user can perform federated queries over multiple data sets
  • Improve accessibility of data licenses for integrated sources via web interface and REST web-service.

It will be an exciting challenge.  Follow us on this blog.

Google Summer of Code at InterMine

We’re pleased to announce that we’ll be participating in Google Summer of Code 2017 as a mentor organisation, under the umbrella of the Open Genome Informatics. Here’s the full ideas list for Open Genome Informatics Projects – InterMine projects are numbers 3 to 9.

Information for students:

About us:

InterMine is an open source biological data warehouse, based in the University of Cambridge. There are nearly thirty instances of public InterMines, covering a range of subjects from organisms like mice and rats, mines dedicated to plants such as the soybean, insects like the fruitfly or bees and wasps, and even mines dedicated to mitochondrial DNA and discovering drug targets.

We’re interested in mentoring students from a bioinformatics, computational biology, or computer science background.

You don’t have to be a biologist to work on InterMine related projects – many of the full time developers on the team didn’t come from a biology background – but biological knowledge is an advantage.

We use a range of languages in our projects, but most commonly you’ll see Java, PostgreSQL, Clojure/ClojureScript, and JavaScript. Each instance of InterMine has its own set of web services, and there are client libraries in five different languages, with a sixth in final stages of development.

Browse through our GitHub repos to see more of our projects: https://github.com/intermine

Getting started:

If you’re interested in applying for one of our projects, drop an email to the people named in the project description to introduce yourself, and explain which of the project(s) you’re interested in. There’s already been quite a lot of interest in the Similarity project from multiple students, so you might want to consider one of the other projects as a backup if you think you’d particularly like InterMine.

When you mail us, please make sure to include as many of the following as possible:

  • A CV / Resume. Tell us about yourself!
  • Links to GitHub, BitBucket, LinkedIn or similar.
  • Sample code. If you don’t have GitHub/Bitbucket etc. we’d still like to see what you can do. A class coding assignment or personal project you’re proud of is a great alternative.

A great way to familiarise yourself with the basics of building InterMine is to run through our tutorial: http://intermine.readthedocs.io/en/latest/get-started/tutorial/ – or alternatively you could try familiarising yourself with the web interface for your preferred InterMine. You can find the full list of InterMines at intermine.org, or try our experimental interface here: http://redgenes.apps.intermine.org/

We’ve also set up a few tickets on the core InterMine repo with the tag “Good first bug” if you’d like to get your hands dirty. Pop a note on the ticket and make a pull request when you think you’re ready. We have some guidelines for contributing that you should read before you make the pull request.

Finally, if you have any ideas or questions, please don’t hesitate to email us.

Useful links:

– Our twitter feed: https://twitter.com/intermineorg
– Here’s a blog post about some of the cool things the community has done with InterMine resources: https://intermineorg.wordpress.com/2016/11/22/cool-intermine-features-roundup/
– Our interactive web services docs: http://iodocs.apps.intermine.org/
– Our very in-the-works new ClojureScript UI. Demo: http://redgenes.apps.intermine.org/ repo: github.com/intermine/redgenes
– Developer documentation: http://intermine.readthedocs.io/en/latest/

Upcoming Events

March and April 2017 are looking to be quite exciting for the InterMine team. Here’s where to spot us over the next couple of months:

6-8 March 2017: BioSchemas kick-off meeting – If you’re there, look out for Gos and Justin!

8 March 2017: As part of the EBI’s Introduction to Omics Data Integration course, Rachel will be delivering a session on InterMine “Open tools for data integration – hands on example with InterMine

20 March 2017: Scientific Computation in the University of Cambridge Seminar Day – Daniela will be giving the talk “InterMine: Best Practices for Open Source Software

29 March 2017 – 2 April 2017: Our very own InterMine Dev Workshop and Hackathon. Registrations are still open at the moment (21 Feb 2017), but the early bird room rate will be expiring in early March, so try not to delay if you’re planning on coming!

24-27 April 2017: Josh will be attending the HUPO-PSI 2017 meetup in Beijing.

2016 holiday period

1.png

Quick FYI:

We’ll have several people out of the office – but not everyone – over the week before Christmas, starting from today (16 December). If you need to contact us, you may get a prompter response by emailing our lists (e.g. the dev list) which will reach all of us, rather than emailing individuals directly.

The annual InterMine office closure will be between 23rd December evening until 3rd January morning UK time. During this period no one will be in the office, and we may not be able to respond to emails, tweets, blogs, etc.

See you all in 2017!!