About the team/job
Are you an experienced software developer with good working knowledge of fundamental algorithms and data structures? The Iqbal research group at the European Bioinformatics Institute (EMBL-EBI) is looking for a programmer to join their growing team, and play a vital role in developing software used to analyse the DNA of pathogens underlying global health threats such as TB and malaria.
Many problems in the analysis of DNA can be cast as algorithms on strings or graphs. Localised differences in DNA can cause bacterial and parasite strains to differ in medically and biologically important ways - for example being resistant to an antibiotic or being able to infect humans. Detecting and classifying these differences (either between genomes or between noisy experimental subsamples of genomes) can be translated into string and graph problems. The Iqbal group develops such methods. Their work ranges from development of novel algorithms and data structures, to concrete implementations translating research ideas into clinical practise. For example their Mykrobe predictor software has been integrated into Public Health England’s tuberculosis pipeline, and we are now collaborating with people using it in India, Vietnam and Madagascar. Dr Iqbal spent 8 years in the software industry after his PhD, working in development and software management in embedded operating systems for mobile device and network drivers, before returning to academia. The rest of the group have degrees in maths, physics and biology.
As a Scientific Software Developer, you would lead the development and maintenance of key scientific software developed by the Iqbal group. One important area of work is the further development of gramtools, a software suite for analysing genome sequence data based on a modified Burrows Wheeler transform. Another is co-development of pandora, which does similar things for new nanopore data applied to bacteria. Currently there are two PhD students doing active development, and that is about to increase to three.
Your specific goals and tasks would include:
- Develop, implement and maintain advanced algorithms and data structures, in particular in gramtools and pandora , but also in other applications related to genome graphs and succinct data structures.
- Collaborate closely with other team members who are developing modifications of and tools based on gramtools, pandora and/or other graph genome software.
- Apply these software to empirical datasets, profile, evaluate performance and update design, implementation and/or algorithms as appropriate.
- Provide training and support for other team members as they improve their software skills
Key people to work with are PhD students who are innovating, prototyping and developing algorithms based on existing libraries, which then often need to be re implemented or refactored into a library that can be widely used
- Understanding novel algorithms and data structures
- Learning about alternative approaches from the literature and comparing them with our approaches
- Learning (on the job) enough of the science to understand the software requirements
- Adjusting to changing requirements as properties of novel structures or algorithms are only learned about during development.
We are looking for a person who has the right skill set and is happy collaborating on a range of projects. Our new Scientific Software Developer should have:
- Experience in developing software
- Proficiency in C and/or C++ (preference for C++ given existing code base)
- Experience with studying advanced data structures and algorithms, both on paper/pseudocode, and in implementation
- Experience with code profiling tools, code correctness tools, version control.
- Competence with Linux
- At least some experience with Python
- Excellent communication skills - essential to effective collaboration within the team and users of our software
- A degree in some quantitative subject
You might also have
- Proficiency with Python
- Experience with numerical or statistical algorithms
- Experience of working in a scientific setting
Why join us
This is a really exciting opportunity to work on novel data structures and algorithms in a context which can have both scientific and medical impact. We develop these methods for the use of the bioinformatics community, and for our own projects (for example studying 100,000 TB genomes, or malaria parasites from around the world). We are also closely involved in analysing data from the new Oxford Nanopore sequencing machines. So there is a huge array of exciting problems. We are a friendly group, with a range of backgrounds, and a real ethos of helping each other.
At EMBL-EBI, we help scientists realise the potential of ‘big data’ in biology by enabling them to exploit complex information to make discoveries that benefit mankind. Working for EMBL-EBI gives you an opportunity to apply your skills and energy for the greater good. As part of the European Molecular Biology Laboratory (EMBL), we are a non-profit, intergovernmental organisation funded by 22 member states and two associate member states. We are located on the Wellcome Genome Campus near Cambridge in the UK, and our 600 staff are engineers, technicians, scientists and other professionals from all over the world.
EMBL is an inclusive, equal opportunity employer offering attractive conditions and benefits appropriate to an international research organisation. The remuneration package comprises a competitive salary, a comprehensive pension scheme and health insurance, educational and other family related benefits where applicable, as well as financial support for relocation and installation. For more information about pay and benefits click here
We have an informal culture, international working environment and excellent professional development opportunities but one of the really amazing things about us is the concentration of technical and scientific expertise – something you probably won’t find anywhere else.
If you’ve ever visited the campus you’ll have experienced first-hand our friendly, collegial and supportive atmosphere, set in the beautiful Cambridgeshire countryside. Our staff also enjoy excellent sports facilities including a gym, a free shuttle bus, an on-site nursery, cafés and restaurant and a library.
What else do I need to know
- Group home page: https://www.ebi.ac.uk/research/iqbal
- Gramtools motivation and original algorithm: https://goo.gl/E21Gi1
- Gramtools code (reimplemented since the paper): https://github.com/iqbal-lab/gramtools
- Pandora code: https://github.com/rmcolq/pandora
Other work from this group https://www.ebi.ac.uk/research/iqbal
- On de Bruijn graphs https://goo.gl/69wrU
- antibiotic resistance prediction using graphs https://www.youtube.com/watch?v=pM4yiirQD0c, https://github.com/iqbal-lab/Mykrobe-predictor https://goo.gl/1ZxR7x
- On building search engine for all the microbial DNA sequenced in the world https://www.biorxiv.org/content/early/2017/12/18/234955
- On taking diagnostics (using our software) into Madagascar https://www.youtube.com/watch?v=rmUZbS12k10
- COBS tool developed by collaborators, which it would be good to contribute to https://github.com/devgg/cobs
The initial contract is for a period of three years with the possibility of a fixed-term extension. To apply please submit a covering letter and CV through our online system.
Applications are welcome from all nationalities and this will continue after Brexit. For more information please see our website. Visa information will be discussed in more depth with applicants selected for interview.
EMBL-EBI is committed to achieving gender balance and strongly encourages applications from women, who are currently under-represented at all levels. Appointment will be based on merit alone.
Applications will close at 23:00 BST on the date listed above.