Track topics on Twitter Track topics that are important to you
With Next Generation Sequencing data being routinely used, evolutionary biology is transforming into a computational science. Thus, researchers have to rely on a growing number of increasingly complex software. All widely used core tools in the field have grown considerably, in terms of the number of features as well as lines of code and consequently, also with respect to software complexity. A topic that has received little attention is the software engineering quality of widely used core analysis tools. Software developers appear to rarely assess the quality of their code, and this can have potential negative consequences for end-users. To this end, we assessed the code quality of 16 highly cited and compute-intensive tools mainly written in C/C ++ (e.g., MrBayes, MAFFT, SweepFinder etc.) and JAVA (BEAST) from the broader area of evolutionary biology that are being routinely used in current data analysis pipelines. Since, the software engineering quality of the tools we analyzed is rather unsatisfying, we provide a list of best practices for improving the quality of existing tools and list techniques that can be deployed for developing reliable, high quality scientific software from scratch. Finally, we also discuss journal as well as science policy and, more importantly, funding issues that need to be addressed for improving software engineering quality as well as ensuring support for developing new and maintaining existing software. Our intention is to raise the awareness of the community regarding software engineering quality issues and to emphasize the substantial lack of funding for scientific software development.
This article was published in the following journal.
Name: Molecular biology and evolution
After more than fifteen years of existence, the R package ape has continuously grown its contents, and has been used by a growing community of users. The release of version 5.0 has marked a leap towar...
The Synthetic Biology Open Language (SBOL) is a data standard for the in silico representation of biological designs, such as engineered genetic circuits and their constituent DNA and protein componen...
Quantitative structure-activity relationships (QSARs) for prediction of toxicological endpoints built up with the CORAL software are discussed. Prejudices related to these QSAR models are listed. Poss...
Kmer-db is a new tool for estimating evolutionary relationship on the basis of k-mers extracted from genomes or sequencing reads. Thanks to an efﬁcient data structure and parallel implementation, ou...
This open-label, randomized, parallel group phase II study will investigate the efficacy of computational biology-informed treatment vs. standard of care treatment for patients with relaps...
The aim of this study is evaluate a software developed for alternative communication designed for people with speech difficulties. The software was executed by 30 volunteers using mobile d...
We are evaluating a new computer software package to help us acquire and interpret heart CT studies, which is the purpose of this research project. We plan to compare the acquiring and ana...
This study will evaluate if an electronic medication management software solution can improve outcomes for patients undergoing in vitro fertilization (IVF) treatment. Participants will be ...
The purpose of this prospective observational study (registry) is to determine the acute success rate of a CFAE guided ablation procedure using a dedicated software and to determine the fu...
The interdisciplinary science that studies evolutionary biology, including the origin and evolution of the major elements required for life, their processing in the interstellar medium and in protostellar systems. This field also includes the study of chemical evolution and the subsequent interactions between evolving biota and planetary evolution as well as the field of biology that deals with the study of extraterrestrial life.
The act of testing the software for compliance with a standard.
Specifications and instructions applied to the software.
Software capable of recognizing dictation and transcribing the spoken words into written text.
Instrumentation consisting of hardware and software that communicates with the BRAIN. The hardware component of the interface records brain signals, while the software component analyzes the signals and converts them into a command that controls a device or sends a feedback signal to the brain.
DNA sequencing is the process of determining the precise order of nucleotides within a DNA molecule. During DNA sequencing, the bases of a small fragment of DNA are sequentially identified from signals emitted as each fragment is re-synthesized from a ...