• 文献检索
  • 文档翻译
  • 深度研究
  • 学术资讯
  • Suppr Zotero 插件Zotero 插件
  • 邀请有礼
  • 套餐&价格
  • 历史记录
应用&插件
Suppr Zotero 插件Zotero 插件浏览器插件Mac 客户端Windows 客户端微信小程序
定价
高级版会员购买积分包购买API积分包
服务
文献检索文档翻译深度研究API 文档MCP 服务
关于我们
关于 Suppr公司介绍联系我们用户协议隐私条款
关注我们

Suppr 超能文献

核心技术专利:CN118964589B侵权必究
粤ICP备2023148730 号-1Suppr @ 2026

文献检索

告别复杂PubMed语法,用中文像聊天一样搜索,搜遍4000万医学文献。AI智能推荐,让科研检索更轻松。

立即免费搜索

文件翻译

保留排版,准确专业,支持PDF/Word/PPT等文件格式,支持 12+语言互译。

免费翻译文档

深度研究

AI帮你快速写综述,25分钟生成高质量综述,智能提取关键信息,辅助科研写作。

立即免费体验

相似文献

1
Comparing Ease of Programming in C++, Go, and Java for Implementing a Next-Generation Sequencing Tool.比较使用C++、Go和Java实现下一代测序工具时的编程难易程度。
Evol Bioinform Online. 2019 Aug 15;15:1176934319869015. doi: 10.1177/1176934319869015. eCollection 2019.
2
A comparison of three programming languages for a full-fledged next-generation sequencing tool.三种编程语言在全功能下一代测序工具中的比较。
BMC Bioinformatics. 2019 Jun 3;20(1):301. doi: 10.1186/s12859-019-2903-5.
3
elPrep 4: A multithreaded framework for sequence analysis.elPrep 4:一个用于序列分析的多线程框架。
PLoS One. 2019 Feb 13;14(2):e0209523. doi: 10.1371/journal.pone.0209523. eCollection 2019.
4
elPrep: High-Performance Preparation of Sequence Alignment/Map Files for Variant Calling.elPrep:用于变异检测的序列比对/映射文件的高性能制备
PLoS One. 2015 Jul 16;10(7):e0132868. doi: 10.1371/journal.pone.0132868. eCollection 2015.
5
cljam: a library for handling DNA sequence alignment/map (SAM) with parallel processing.cljam:一个用于通过并行处理来处理DNA序列比对/映射(SAM)的库。
Source Code Biol Med. 2016 Aug 17;11:12. doi: 10.1186/s13029-016-0058-6. eCollection 2016.
6
Multithreaded variant calling in elPrep 5.elPrep 5 中的多线程变异调用。
PLoS One. 2021 Feb 4;16(2):e0244471. doi: 10.1371/journal.pone.0244471. eCollection 2021.
7
Gonomics: uniting high performance and readability for genomics with Go.基诺米克斯:用 Go 为基因组学实现高性能和易读性的统一。
Bioinformatics. 2023 Aug 1;39(8). doi: 10.1093/bioinformatics/btad516.
8
Hadoop-BAM: directly manipulating next generation sequencing data in the cloud.Hadoop-BAM:在云中直接操作下一代测序数据。
Bioinformatics. 2012 Mar 15;28(6):876-7. doi: 10.1093/bioinformatics/bts054. Epub 2012 Feb 2.
9
Qualimap: evaluating next-generation sequencing alignment data.Qualimap:评估下一代测序比对数据。
Bioinformatics. 2012 Oct 15;28(20):2678-9. doi: 10.1093/bioinformatics/bts503. Epub 2012 Aug 22.
10
Massively Parallel Implementation of Sequence Alignment with Basic Local Alignment Search Tool Using Parallel Computing in Java Library.使用Java库中的并行计算通过基本局部比对搜索工具进行序列比对的大规模并行实现。
J Comput Biol. 2018 Aug;25(8):871-881. doi: 10.1089/cmb.2018.0079. Epub 2018 Jul 13.

引用本文的文献

1
A software package for efficient patient trajectory analysis applied to analyzing bladder cancer development.一个用于高效患者轨迹分析的软件包,应用于分析膀胱癌的发展。
PLOS Digit Health. 2023 Nov 22;2(11):e0000384. doi: 10.1371/journal.pdig.0000384. eCollection 2023 Nov.
2
Gonomics: uniting high performance and readability for genomics with Go.基诺米克斯:用 Go 为基因组学实现高性能和易读性的统一。
Bioinformatics. 2023 Aug 1;39(8). doi: 10.1093/bioinformatics/btad516.

本文引用的文献

1
A comparison of three programming languages for a full-fledged next-generation sequencing tool.三种编程语言在全功能下一代测序工具中的比较。
BMC Bioinformatics. 2019 Jun 3;20(1):301. doi: 10.1186/s12859-019-2903-5.
2
elPrep 4: A multithreaded framework for sequence analysis.elPrep 4:一个用于序列分析的多线程框架。
PLoS One. 2019 Feb 13;14(2):e0209523. doi: 10.1371/journal.pone.0209523. eCollection 2019.
3
elPrep: High-Performance Preparation of Sequence Alignment/Map Files for Variant Calling.elPrep:用于变异检测的序列比对/映射文件的高性能制备
PLoS One. 2015 Jul 16;10(7):e0132868. doi: 10.1371/journal.pone.0132868. eCollection 2015.
4
The Sequence Alignment/Map format and SAMtools.序列比对/映射格式和 SAMtools。
Bioinformatics. 2009 Aug 15;25(16):2078-9. doi: 10.1093/bioinformatics/btp352. Epub 2009 Jun 8.

比较使用C++、Go和Java实现下一代测序工具时的编程难易程度。

Comparing Ease of Programming in C++, Go, and Java for Implementing a Next-Generation Sequencing Tool.

作者信息

Costanza Pascal, Herzeel Charlotte, Verachtert Wilfried

机构信息

ExaScience Lab, IMEC vzw, Leuven, Belgium.

出版信息

Evol Bioinform Online. 2019 Aug 15;15:1176934319869015. doi: 10.1177/1176934319869015. eCollection 2019.

DOI:10.1177/1176934319869015
PMID:31452597
原文链接:https://pmc.ncbi.nlm.nih.gov/articles/PMC6698987/
Abstract

elPrep is an extensible multithreaded software framework for efficiently processing Sequence Alignment/Map (SAM)/Binary Alignment/Map (BAM) files in next-generation sequencing pipelines. Similar to other SAM/BAM tools, a key challenge in elPrep is memory management, as such programs need to manipulate large amounts of data. We therefore investigated 3 programming languages with support for assisted or automated memory management for implementing elPrep, namely C++, Go, and Java. We implemented a nontrivial subset of elPrep in all 3 programming languages and compared them by benchmarking their runtime performance and memory use to determine the best language in terms of computational performance. In a previous article, we motivated why, based on these results, we eventually selected Go as our implementation language. In this article, we discuss the difficulty of achieving the best performance in each language in terms of programming language constructs and standard library support. While benchmarks are easy to objectively measure and evaluate, this is less obvious for assessing ease of programming. However, because we expect elPrep to be regularly modified and extended, this is an equally important aspect. We illustrate representative examples of challenges in all 3 languages, and give our opinion why we think that Go is a reasonable choice also in this light.

摘要

elPrep是一个可扩展的多线程软件框架,用于在下一代测序流程中高效处理序列比对/映射(SAM)/二进制比对/映射(BAM)文件。与其他SAM/BAM工具类似,elPrep面临的一个关键挑战是内存管理,因为这类程序需要处理大量数据。因此,我们研究了3种支持辅助或自动内存管理的编程语言来实现elPrep,即C++、Go和Java。我们用这3种编程语言实现了elPrep的一个重要子集,并通过对它们的运行时性能和内存使用情况进行基准测试来比较,以确定在计算性能方面最佳的语言。在之前的一篇文章中,我们阐述了基于这些结果,我们最终为何选择Go作为实现语言。在本文中,我们从编程语言结构和标准库支持的角度讨论了在每种语言中实现最佳性能的难度。虽然基准测试易于客观测量和评估,但对于评估编程的难易程度就没那么明显了。然而,由于我们预计elPrep会经常被修改和扩展,这也是一个同样重要的方面。我们展示了这3种语言中具有代表性的挑战示例,并说明为何我们认为从这个角度来看Go也是一个合理的选择。