Workshops
How to develop good bioinformatics software
Overview
Software development is a central part of bioinformatics, but for many reasons software quality is not always prioritised, leading to problems in maintenance, usability and reproducibility. Adopting software engineering best practices at the beginning of a project can address these problems, but this is often not done due to lack of time and/or experience. This workshop covers the essentials of good programming practices and provides you with tools and knowledge to build high quality bioinformatics software from the outset. We will introduce a tool for quickly creating new software projects with important features and infrastructure already included. You will use this tool to initialise a new project including a fresh repository on GitHub.
Target audience
Bioinformaticians with beginner to intermediate level of programming experience who want to apply good software engineering practices in their daily work. Experience with the Unix command-line is assumed. Basic familiarity with Python (or similar languages) is an advantage.
Learning Outcomes
By the end of the workshop you will have:
- Created a new software repository
- Committed it to GitHub
- Set up continuous integration testing
- Used test-driven-development to add a new feature to the program
- Learnt about good practices in software development and why they are useful
- Learnt how to use a tool (bionitio) to automate this for future projects.
Requirements
You’ll need to bring a laptop with Unix (e.g. an Apple Mac or Linux). Windows users: please install Putty.
Before attending the workshop, please set up a GitHub account (free, https://github.com/join).