Contributing to InterMine

Welcome! We’re excited to have you join the community. InterMine integrates biological data, but you don’t have to be a biologist to contribute to InterMine. Some of our entry-level issues only require knowledge of the relevant programming language, but others may require more in-depth understanding.

If you’d like to learn a bit more about InterMine, we have a nice 5 minute video for you to sum things up. If you prefer textual learning resources, you could look at the InterMine documentation for a technical overview of InterMine’s server, the user documentation a for a biologist/bioinformatician oriented overview, or you could hop straight into our Python tutorial to learn more about querying our data model. You can also take a look at the Developers section of this site.

New to open source?

Perhaps you’ve never made a pull request before, or you’ve used git a little but never collaboratively? Have a look through the open source guide to submitting contributions to give you a good idea of how things work. Some of our issues are marked first-timers-only - these are issues that may be relatively straightforward, where we’ll happily walk you through steps you’re unsure about. (psst, you can also search GitHub for all issues marked with this label, not just InterMine).

Contributing Guidelines

InterMine has a large variety of repositories in a number of different languages. We have a list of issues marked up with labels such as “Help Wanted”, “Beginner”, “Good first bug” that you can choose from, but you’re welcome to offer help on any issue if you think you understand what’s going on and what needs to be done.

Picking up tasks

If you find an issue that interests you, here’s what to do. Note that one of the key tasks is communication!
  • Read through the issue and make sure you understand what to do. If you need to clarify details, it’s okay to ask in the issue.
  • Once you feel you’re ready to work on the issue, comment on the issue to let us know you’re working on it! This is important to ensure that no-one else picks up the ticket and works on it at the same time.
  • Work on the issue - make sure to conform to any guidelines there may be in the repo if relevant, e.g. write tests and make sure the pass in CI, comment and document your code, make sure the style formatting checks pass, etc. Ask for advice if needed.
  • When you think your work is ready - make a pull request! You’re a star! ⭐️
  • We will review your work, checking for quality and correctness. It may take us a little while to review it, depending on what else is going on at the time. We may have feedback or changes required before we can merge your pull request.
  • Once it’s merged - bask in glory. You’ve just committed code to an open source project!

Interested in something bigger than an issue?

General guidelines

  • In busy periods, we may reassign inactive issues (with no PRs/comments/commits) after 3-4 days. Please don’t feel bad if this happens! You’re still welcome to contribute to other issues when you have the time.
  • Be nice. Unpleasant behaviour in our community will not be tolerated. InterMine has a Code of Conduct that all contributors are expected to follow.
  • If you find documentation is unclear or missing, make a PR to fix it once you know what needs to be done.
  • If an individual repository has contributing guidelines or style guidelines, they override any advice given on this page.
  • In need of help? Try visiting our contact us pages for ways to get more help. Also, feel free to pitch in if you think you know the answer to queries on the mailing list or chat!
  • Thank you for being awesome!