PubMed Health⌕ Search

PubMed · 16734914

Agile methods in biomedical software development: a multi-site experience report.

Abstract

BACKGROUND: Agile is an iterative approach to software development that relies on strong collaboration and automation to keep pace with dynamic environments. We have successfully used agile development approaches to create and maintain biomedical software, including software for bioinformatics. This paper reports on a qualitative study of our experiences using these methods. RESULTS: We have found that agile methods are well suited to the exploratory and iterative nature of scientific inquiry. They provide a robust framework for reproducing scientific results and for developing clinical support systems. The agile development approach also provides a model for collaboration between software engineers and researchers. We present our experience using agile methodologies in projects at six different biomedical software development organizations. The organizations include academic, commercial and government development teams, and included both bioinformatics and clinical support applications. We found that agile practices were a match for the needs of our biomedical projects and contributed to the success of our organizations. CONCLUSION: We found that the agile development approach was a good fit for our organizations, and that these practices should be applicable and valuable to other biomedical software development efforts. Although we found differences in how agile methods were used, we were also able to identify a set of core practices that were common to all of the groups, and that could be a focus for others seeking to adopt these methods.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

David W Kane, Moses M Hohman, Ethan G Cerami, Michael W McCormick, Karl F Kuhlmman, Jeff A Byrd. 2006-05-30. Agile methods in biomedical software development: a multi-site experience report.. https://doi.org/10.1186/1471-2105-7-273

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related citations

A note on a generalized single step theory for any number of hierarchical genomic matrices.

BACKGROUND: The Single Step algorithm allows combining information from genotyped and un-genotyped individuals, provided they are connected by a pedigree. However, current single step theory is limited to a single list of markers. RESULTS: We present a generalized single step (GSS) method that can accommodate any number of hierarchical molecular datasets (e.g. sequence, high and low density arrays) and pedigree, avoiding imputation. We prove that a similar efficient inversion algorithm exists. The method is recursive, starting with the highest marker density scenario. We illustrate the method with simulation and show that GSS can increase predictive accuracy compared to standard single step. R code is provided so that custom scenarios can be easily compared, either with simulated or real data. CONCLUSION: The method developed generalizes extant single step theory to any number of hierarchical molecular relationship matrices, broadening the scenarios where single step can be applied. A topic of particular interest can be ecology field data or human populations where pedigree is not available, but where samples sequenced and genotyped at different densities can exist. GSS can also be a useful tool to optimize allocation of genotyping and / or sequencing resources.

Algorithms↗

cgDist: Nucleotide-level distance calculation from cgMLST allelic profiles.

Bacterial genomic surveillance requires balancing computational efficiency with genetic resolution for effective cluster investigation. cgMLST distance calculations treat all allelic differences as equivalent units, obscuring nucleotide-level variation. Furthermore, single nucleotide polymorphism-based pipelines provide finer resolution at substantially higher computational cost, which limits their routine deployment in surveillance laboratories. We present cgDist, an algorithm that calculates nucleotide-level distances directly from cgMLST allelic profiles, providing finer resolution than allele-count distances by leveraging within-allele nucleotide variation. The cache architecture stores alignment statistics, enabling distance calculation modes without computation and supporting both dataset-specific and schema-complete cache generation. This design enables incremental surveillance analysis, with performance benefits as laboratories accumulate alignment data. cgDist functions as a precision 'zoom lens' for the investigation of clusters identified through initial cgMLST screening. Rather than restructuring population relationships, this targeted approach concentrates enhanced resolution where it is most informative. The algorithm ensures that cgDist distances are greater than or equal to corresponding cgMLST distances, preserving epidemiological interpretability while adding genetic discrimination. By increasing resolution within identified clusters, cgDist may also support outbreak investigation, a potential application that remains to be evaluated on outbreak-derived data.

Algorithms↗

Theseus: fast and optimal affine-gap sequence-to-graph alignment.

MOTIVATION: Sequence-to-graph alignment is a central problem in bioinformatics, with applications in multiple sequence alignment (MSA) and pangenome analysis, among others. However, current algorithms for optimal affine-gap alignment impose high memory and computational requirements, limiting their scalability to aligning long sequences to complex graphs. Practical solutions partially address this problem using heuristic strategies that ultimately trade off optimality for speed. RESULTS: This work presents Theseus, a novel, fast, and optimal affine-gap sequence-to-graph alignment algorithm. Theseus leverages similarities between genomic sequences to accelerate the alignment computation and reduces the overall memory requirements without compromising optimality. To that end, Theseus processes only a subset of the dynamic programming cells, using a sparse-data strategy that enables efficient sequence-to-graph alignment. Moreover, our algorithm supports optimal affine-gap alignment on arbitrary directed graphs, including those with cycles. We evaluate Theseus on two key problems: MSA and pangenome read mapping. For MSA, we compare it against SPOA, abPOA, and POASTA. Theseus is 1.6× to 17.6× faster than POASTA, and 7.3× faster, on average, than SPOA, both optimal aligners. Compared with abPOA, Theseus ensures optimality and scales to the largest problems. For pangenome read mapping, we benchmark Theseus against the alignment stage of the mapping tool vg map, along with the alignment kernels of SPOA, abPOA, and POASTA. Theseus outperforms the other methods, showing a 1.9× to 16.9× speedup on short reads. Moreover, Theseus is 1.5× to 36.3× faster than vg when aligning against synthetic cyclic graphs. AVAILABILITY AND IMPLEMENTATION: Theseus code and documentation are publicly available at https://github.com/albertjimenezbl/theseus-lib.

Algorithms↗