Applying advanced software testing practices to enhance maintainability of IQ-TREE
People
Supervisor
External Member
Description
IQ-TREE (http://www.iqtree.org) is a widely used piece of open source software in biomedical sciences. The original IQ-TREE paper (https://doi.org/10.1093/molbev/msu300) has been cited >10,000 times (Google Scholar, May 2022) and the software has been downloaded >100,000 times alone in 2021. IQ-TREE reconstructs phylogenetic trees from DNA sequence data, allowing us to understand evolutionary histories of viruses, bacteria, animals, plants, and all organisms. Notably, IQ-TREE has recently been instrumental in tracking the variants of the novel coronavirus (SARS-CoV-2) and identifying key mutations. This provides crucial information for contact tracing, understanding public health measures, and designing new vaccines.
Thorough testing of software is essential to enabling continued development and the addition of new features. The complete integration of an extensive test suite into software development provides a mechanism for maintaining software quality. Availability of a test suite is also a key feature to encourage contributions from other open source developers.
Goals
The aim of this project is to design and implement a testing framework for IQ-TREE. With the complexity of the software and contributions from several software developers, this testing framework is now urgently needed to ensure the software stability and maintainability for all developers. The testing framework should support continuous integration with a dedicated server, so that every commit will be tested automatically.
The student will work with Dr. Minh Bui (School of Computing), Prof. Gavin Huttley and Prof. Robert Lanfear (Research School of Biology).
Requirements
Experiences in Python programming language and Basics in C++. Basic knowledge in Biology is helpful but not required.
Background Literature
IQ-TREE 2: New models and efficient methods for phylogenetic inference in the genomic era
B.Q. Minh, H.A. Schmidt, O. Chernomor, D. Schrempf, M.D. Woodhams, A. von Haeseler, R. Lanfear
IQ-TREE: A Fast and Effective Stochastic Algorithm for Estimating Maximum-Likelihood Phylogenies highly cited
L. Nguyen, H.A. Schmidt, A. von Haeseler, B.Q. Minh
Gain
You will join a multi-disciplinary team consisting of computer scientists, computational biologists and geneticists. The project leads have extensive experience in successfully teaching and mentoring students to develop their practical skill set in this multi-disciplinary domain.
You will contribute to IQ-TREE, an open source project for phylogenetic reconstruction. The project is being developed with adherence to industry best-practice software engineering processes. You will be mentored in employing these practices and in using industry standard resources.
By contributing to an open source project, your work benefits the large global community of bioinformatics scientists. All contributions will be acknowledged on the project documentation website and significant contributions will further be acknowledged by co-authorship on academic publication of the project.
You will get access to working space in the Robertson Building and/or the Hanna Neumann Building.