ArticleBMC bioinformatics2019
A comparison of three programming languages for a full-fledged next-generation sequencing tool.
Article in BMC bioinformatics, 2019. The graph could read no effect estimate from its abstract, so it casts no vote on the map. Cited by 10 papers.
What it found
Each row is one number read from the abstract, on the scale the paper reported it, with its interval. Left of the dashed line favours the treatment, right favours the comparator. Under each row is the sentence it came from. New to these charts? A ten-minute tutorial.
The abstract states no effect estimate the extractor could read, or names no intervention and outcome on the map, so this paper lights no cell and moves no belief. It is still indexed, cited and linked below.
The trial behind it
Trials whose registry record cites this paper, or whose number appears in the abstract. A trial that started after this paper was published is citing it as background, not reporting it.
Neither the registry nor the abstract names a trial number. If this is a trial report, that itself is worth knowing.
Who cites it
10 citing papers in PubMed.
- Clinical drug screening reveals clofazimine potentiates the efficacy while reducing the toxicity of anti-PD-1 and CTLA-4 immunotherapy.Cancer cell · 2024Article
- Circadian transcriptome of pancreatic adenocarcinoma unravels chronotherapeutic targets.JCI insight · 2024Article
- A software package for efficient patient trajectory analysis applied to analyzing bladder cancer development.PLOS digital health · 2023Article
- Performance comparison of instrument automation pipelines using different programming languages.Scientific reports · 2023Article
- Gonomics: uniting high performance and readability for genomics with Go.Bioinformatics (Oxford, England) · 2023Article
- Assessing and assuring interoperability of a genomics file format.Bioinformatics (Oxford, England) · 2022Article
- Large-scale data analysis for robotic yeast one-hybrid platforms and multi-disciplinary studies using GateMultiplex.BMC biology · 2021Article
- Multithreaded variant calling in elPrep 5.PloS one · 2021Article
- Executing native Java code in R: an approach based on a local server.PeerJ. Computer science · 2020Article
- Comparing Ease of Programming in C++, Go, and Java for Implementing a Next-Generation Sequencing Tool.Evolutionary bioinformatics online · 2019Article
Corrections and comments
- Commented on by
Authors and funding
3 authors.
Funding
No grant is acknowledged in the PubMed record.
Abstract
backgroundelPrep is an established multi-threaded framework for preparing SAM and BAM files in sequencing pipelines. To achieve good performance, its software architecture makes only a single pass through a SAM/BAM file for multiple preparation steps, and keeps sequencing data as much as possible in main memory. Similar to other SAM/BAM tools, management of heap memory is a complex task in elPrep, and it became a serious productivity bottleneck in its original implementation language during recent further development of elPrep. We therefore investigated three alternative programming languages: Go and Java using a concurrent, parallel garbage collector on the one hand, and C++17 using reference counting on the other hand for handling large amounts of heap objects. We reimplemented elPrep in all three languages and benchmarked their runtime performance and memory use.
resultsThe Go implementation performs best, yielding the best balance between runtime performance and memory use. While the Java benchmarks report a somewhat faster runtime than the Go benchmarks, the memory use of the Java runs is significantly higher. The C++17 benchmarks run significantly slower than both Go and Java, while using somewhat more memory than the Go runs. Our analysis shows that concurrent, parallel garbage collection is better at managing a large heap of objects than reference counting in our case.
conclusionsBased on our benchmark results, we selected Go as our new implementation language for elPrep, and recommend considering Go as a good candidate for developing other bioinformatics tools for processing SAM/BAM data as well.
Indexed as
Identifiers
What OpenQuestion holds
Registered trials
Read under generation 80e0d062 · epoch 390. Bibliography from PubMed, PubMed Central and OpenAlex; grants from NIH RePORTER; trial links from ClinicalTrials.gov; estimates, votes and beliefs from the OpenQuestion graph.