{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,21]],"date-time":"2026-09-21T19:18:05Z","timestamp":1790018285818,"version":"4.0.1"},"reference-count":50,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2019,6,3]],"date-time":"2019-06-03T00:00:00Z","timestamp":1559520000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"},{"start":{"date-parts":[[2019,6,3]],"date-time":"2019-06-03T00:00:00Z","timestamp":1559520000000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["BMC Bioinformatics"],"published-print":{"date-parts":[[2019,12]]},"DOI":"10.1186\/s12859-019-2903-5","type":"journal-article","created":{"date-parts":[[2019,6,3]],"date-time":"2019-06-03T12:02:52Z","timestamp":1559563372000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":16,"title":["A comparison of three programming languages for a full-fledged next-generation sequencing tool"],"prefix":"10.1186","volume":"20","author":[{"given":"Pascal","family":"Costanza","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Charlotte","family":"Herzeel","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wilfried","family":"Verachtert","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2019,6,3]]},"reference":[{"issue":"16","key":"2903_CR1","doi-asserted-by":"publisher","first-page":"2078","DOI":"10.1093\/bioinformatics\/btp352","volume":"25","author":"H. Li","year":"2009","unstructured":"Li H, Hansaker B, Wysoker A, Fennell T, Ruan J, Homer N, Abecasis G, Durbin R. The Sequence Alignment\/Map format and SAMtools. Bioinformatics. 2009; 25(16). \n                    https:\/\/doi.org\/10.1093\/bioinformatics\/btp352\n                    \n                  .","journal-title":"Bioinformatics"},{"key":"2903_CR2","unstructured":"Broad Institute. Picard. \n                    http:\/\/broadinstitute.github.io\/picard\n                    \n                  . Accessed 19 Sept 2018."},{"issue":"9","key":"2903_CR3","doi-asserted-by":"publisher","first-page":"1297","DOI":"10.1101\/gr.107524.110","volume":"20","author":"A. McKenna","year":"2010","unstructured":"McKenna A, Hanna M, Banks E, Sivachenko A, Cibulskis K, Kernytsky A, Garimella K, Altshuler D, Gabriel S, Daly M, DePristo M. The Genome Analysis Toolkit: A MapReduce framework for analyzing nextgeneration DNA sequencing data. Genome Res. 2010; 20:1297\u2013303. \n                    https:\/\/doi.org\/10.1101\/gr.107524.110\n                    \n                  .","journal-title":"Genome Research"},{"issue":"12","key":"2903_CR4","doi-asserted-by":"publisher","first-page":"2032","DOI":"10.1093\/bioinformatics\/btv098","volume":"31","author":"Artem Tarasov","year":"2015","unstructured":"Tarasov A, Vilella A, Cuppen E, Nijman I, Prins P. Sambamba: fast processing of NGS alignment formats. Bioinformatics. 2015; 31(12):2032\u20134. \n                    https:\/\/doi.org\/10.1093\/bioinformatics\/btv098\n                    \n                  .","journal-title":"Bioinformatics"},{"key":"2903_CR5","doi-asserted-by":"publisher","unstructured":"Tischler G, Leonard S. biobambam: tools for read pair collation based algorithms on BAM files. Source Code Biol Med. 2014; 9(13). \n                    https:\/\/doi.org\/10.1186\/1751-0473-9-13\n                    \n                  .","DOI":"10.1186\/1751-0473-9-13"},{"issue":"6","key":"2903_CR6","doi-asserted-by":"publisher","first-page":"918","DOI":"10.1101\/gr.176552.114","volume":"25","author":"Goo Jun","year":"2015","unstructured":"Jun G, Wing M, Abecasis G, Kang H. An efficient and scalable analysis framework for variant extraction and refinement from population scale DNA sequence data. Genome Res. 2015. \n                    https:\/\/doi.org\/10.1101\/gr.176552.114\n                    \n                  .","journal-title":"Genome Research"},{"issue":"17","key":"2903_CR7","doi-asserted-by":"publisher","first-page":"2503","DOI":"10.1093\/bioinformatics\/btu314","volume":"30","author":"G. G. Faust","year":"2014","unstructured":"Faust GG, Hall IM. SAMBLASTER: fast duplicate marking and structural variant read extraction. Bioinformatics. 2014; 30(17):2503\u20135. \n                    https:\/\/doi.org\/10.1093\/bioinformatics\/btu314\n                    \n                  .","journal-title":"Bioinformatics"},{"issue":"2","key":"2903_CR8","doi-asserted-by":"publisher","first-page":"e0209523","DOI":"10.1371\/journal.pone.0209523","volume":"14","author":"Charlotte Herzeel","year":"2019","unstructured":"Herzeel C, Costanza P, Decap D, Fostier J, Verachtert W. elPrep 4: A multithreaded framework for sequence analysis. PLoS ONE. 2019; 14(2). \n                    https:\/\/doi.org\/10.1371\/journal.pone.0209523\n                    \n                  .","journal-title":"PLOS ONE"},{"issue":"15","key":"2903_CR9","doi-asserted-by":"publisher","first-page":"2482","DOI":"10.1093\/bioinformatics\/btv179","volume":"31","author":"Dries Decap","year":"2015","unstructured":"Decap D, Reumers J, Herzeel C, Costanza P, Fostier J. Halvade: scalable sequence analysis with MapReduce. Bioinformatics. 2015; 31(15):2482\u20138. \n                    https:\/\/doi.org\/10.1093\/bioinformatics\/btv179\n                    \n                  .","journal-title":"Bioinformatics"},{"key":"2903_CR10","doi-asserted-by":"publisher","unstructured":"Nothaft FA, Massie M, Danford T, Zhang Z, Laserson U, Yeksigian C, Kottalam J, Ahuja A, Hammerbacher J, Linderman M, Franklin M, Joseph AD, Patterson DA. Rethinking data-intensive science using scalable analytics systems. In: Proceedings of the 2015 International Conference on Management of Data (SIGMOD \u201915). New York: ACM: 2015. \n                    https:\/\/doi.org\/10.1145\/2723372.2742787\n                    \n                  .","DOI":"10.1145\/2723372.2742787"},{"issue":"B","key":"2903_CR11","doi-asserted-by":"publisher","first-page":"30","DOI":"10.14806\/ej.17.B.286","volume":"17","author":"Roman Valls Guimera","year":"2012","unstructured":"Guimera R. bcbio-nextgen: Automated, distributed next-gen sequencing pipeline. EMBnet.journal. 2012; 17:30. \n                    https:\/\/doi.org\/10.14806\/ej.17.B.286\n                    \n                  .","journal-title":"EMBnet.journal"},{"issue":"6","key":"2903_CR12","doi-asserted-by":"publisher","first-page":"876","DOI":"10.1093\/bioinformatics\/bts054","volume":"28","author":"Matti Niemenmaa","year":"2012","unstructured":"Niemenmaa M, Kallio A, Schumacher A, Klemela P, Korpelainen E, Heljanko K. Hadoop-BAM: directly manipulating next generation sequencing data in the cloud. Bioinformatics. 2012; 28(6):876\u20137. \n                    https:\/\/doi.org\/10.1093\/bioinformatics\/bts054\n                    \n                  .","journal-title":"Bioinformatics"},{"key":"2903_CR13","doi-asserted-by":"publisher","unstructured":"Deng L, Huang G, Zhuang Y, Wei J, Yan Y. Higene: A high-performance platform for genomic data analysis: 2017. \n                    https:\/\/doi.org\/10.1109\/BIBM.2016.7822584\n                    \n                  . IEEE.","DOI":"10.1109\/BIBM.2016.7822584"},{"issue":"3","key":"2903_CR14","doi-asserted-by":"publisher","first-page":"e0174575","DOI":"10.1371\/journal.pone.0174575","volume":"12","author":"Dries Decap","year":"2017","unstructured":"Decap D, Reumers J, Herzeel C, Costanza P, Fostier J. Halvade-RNA: Parallel variant calling from transcriptomic data using MapReduce. PLOS ONE. 2017; 12(3). \n                    https:\/\/doi.org\/10.1371\/journal.pone.0174575\n                    \n                  .","journal-title":"PLOS ONE"},{"issue":"3","key":"2903_CR15","doi-asserted-by":"publisher","first-page":"1869","DOI":"10.1007\/s10586-017-0874-8","volume":"20","author":"Nathan T. Weeks","year":"2017","unstructured":"Weeks N, Luecke G. Cluster computing - The Journal of Networks Software Tools and Applications. 2017; 20(3):1869\u201380. \n                    https:\/\/doi.org\/10.1007\/s10586-017-0874-8\n                    \n                  .","journal-title":"Cluster Computing"},{"issue":"7","key":"2903_CR16","doi-asserted-by":"publisher","first-page":"e0132868","DOI":"10.1371\/journal.pone.0132868","volume":"10","author":"Charlotte Herzeel","year":"2015","unstructured":"Herzeel C, Costanza P, Decap D, Fostier J, Reumers J. elPrep: High-performance preparation of sequence alignment\/map files for variant calling. PLoS ONE. 2015; 10(7). \n                    https:\/\/doi.org\/10.1371\/journal.pone.0132868\n                    \n                  .","journal-title":"PLOS ONE"},{"key":"2903_CR17","doi-asserted-by":"publisher","unstructured":"Van der Auwera GA, Carmeiro MO, Hartl C, Poplin R, del Angel G, Levy-Moonshine A, Jordan T, Shakir K, Roazen D, Thibault J, Banks E, Garimella KV, Altshuler D, Gabriel S, DePristo MA. From FastQ data to high confidence variant calls: the Genome Analysis Toolkit best practices pipeline. Curr Protoc Bioinform. 2013; 43(1):11\u2013101111033. \n                    https:\/\/doi.org\/10.1002\/0471250953.bi1110s43\n                    \n                  .","DOI":"10.1002\/0471250953.bi1110s43"},{"key":"2903_CR18","doi-asserted-by":"publisher","first-page":"233","DOI":"10.1007\/978-3-319-32152-3_22","volume-title":"Parallel Processing and Applied Mathematics","author":"Dries Decap","year":"2016","unstructured":"Decap D, Reumers J, Herzeel C, Costanza P, Fostier J. Performance analysis of a parallel, multi-node pipeline for DNA sequencing. In: Proceedings of the 11th International Conference on Parallel Processing and Applied Mathematics (PPAM):6-9 September 2015. Krakow: LNCS, Springer: 2015. p. 233\u201342. \n                    https:\/\/doi.org\/10.1007\/978-3-319-32152-3_22\n                    \n                  ."},{"key":"2903_CR19","volume-title":"The Garbage Collection Handbook","author":"R Jones","year":"2012","unstructured":"Jones R, Hosking A, Moss E. The Garbage Collection Handbook. Boca Raton: CRC Press; 2012."},{"key":"2903_CR20","volume-title":"C \u2014 A Reference Manual, Fifth Edition","author":"SP Harbison III","year":"2002","unstructured":"Harbison III SP, Steele Jr GL. C \u2014 A Reference Manual, Fifth Edition. Upper Saddle River: Prentice Hall; 2002."},{"key":"2903_CR21","volume-title":"The Java Language Specification, Java SE 8 Edition","author":"J Gosling","year":"2014","unstructured":"Gosling J, Joy B, Steele Jr GL, Bracha G, Buckley A. The Java Language Specification, Java SE 8 Edition. Upper Saddle River: Addison-Wesley Professional; 2014."},{"key":"2903_CR22","volume-title":"The Go Programming Language","author":"AAA Donovan","year":"2015","unstructured":"Donovan AAA, Kernighan BW. The Go Programming Language. Upper Saddle River: Addison-Wesley Professional; 2015."},{"key":"2903_CR23","volume-title":"Common Lisp, The Language, Second Edition","author":"GL Steele Jr","year":"1990","unstructured":"Steele Jr GL. Common Lisp, The Language, Second Edition. Boston: Digital Press; 1990."},{"key":"2903_CR24","doi-asserted-by":"publisher","unstructured":"Fourment M, Gillings MR. A comparison of common programming languages used in bioinformatics. BMC Bioinformatics. 2008; 9(1). \n                    https:\/\/doi.org\/10.1186\/1471-2105-9-82\n                    \n                  .","DOI":"10.1186\/1471-2105-9-82"},{"key":"2903_CR25","doi-asserted-by":"crossref","unstructured":"Bora$\\breve {\\text {g}}$an Aruoba S, Fern\u00e1ndez-Villaverde J. A comparison of programming languages in economics. J Econ Dyn Control. 2015; 58:265\u201373.","DOI":"10.1016\/j.jedc.2015.05.009"},{"issue":"5","key":"2903_CR26","doi-asserted-by":"publisher","first-page":"102","DOI":"10.1109\/74.736311","volume":"40","author":"JE Moreira","year":"1998","unstructured":"Moreira JE, Midkiff SP, Gupta M. A comparison of Java, C\/C++, and FORTRAN for numerical computing. IEEE Antennas Propag Mag. 1998; 40(5):102\u20135.","journal-title":"IEEE Antennas Propag Mag"},{"issue":"2","key":"2903_CR27","first-page":"1004","volume":"7","author":"K Biswa","year":"2016","unstructured":"Biswa K, Jamatia B, Choudhury D, Borah P. Comparative analysis of C, FORTRAN, C# and Java programming languages. Int J Comput Sci Inf Technol. 2016; 7(2):1004\u20137.","journal-title":"Int J Comput Sci Inf Technol"},{"key":"2903_CR28","unstructured":"Hundt R. Loop recognition in C++\/Java\/Go\/Scala. In: Proceedings of Scala Days 2011: 2011. \n                    https:\/\/days2011.scalalang.org\/sites\/days2011\/files\/ws3-1-Hundt.pdf\n                    \n                  . Accessed 19 Sept 2018."},{"key":"2903_CR29","doi-asserted-by":"publisher","unstructured":"Nanz S, Furia CA. A comparative study of programming languages in Rosetta Code. In: 2015 IEEE\/ACM 37th IEEE International Conference on Software Engineering. Los Alamitos: IEEE: 2015. p. 778\u201388. \n                    https:\/\/doi.org\/10.1109\/ICSE.2015.90\n                    \n                  .","DOI":"10.1109\/ICSE.2015.90"},{"issue":"10","key":"2903_CR30","doi-asserted-by":"publisher","first-page":"23","DOI":"10.1109\/2.876288","volume":"33","author":"L Prechelt","year":"2000","unstructured":"Prechelt L. An empirical comparison of seven programming languages. Computer. 2000; 33(10):23\u20139.","journal-title":"Computer"},{"key":"2903_CR31","doi-asserted-by":"publisher","unstructured":"Togashi N, Klyuev V. Concurrency in Go and Java: Performance analysis. In: 2014 4th IEEE International Conference on Information Society and Technology. Beijing: IEEE: 2014. \n                    https:\/\/doi.org\/10.1109\/ICIST.2014.6920368\n                    \n                  .","DOI":"10.1109\/ICIST.2014.6920368"},{"key":"2903_CR32","unstructured":"Gouy I. The Computer Language Benchmarks Game. \n                    https:\/\/benchmarksgame-team.pages.debian.net\/benchmarksgame\/\n                    \n                  . Accessed 19 Sept 2018."},{"issue":"3","key":"2903_CR33","doi-asserted-by":"publisher","first-page":"365","DOI":"10.1147\/sj.373.0365","volume":"37","author":"BS Rubin","year":"1998","unstructured":"Rubin BS, Christ AR, Bohrer KA. Java and the IBM San Francisco project. IBM Syst J. 1998; 37(3):365\u201371.","journal-title":"IBM Syst J"},{"key":"2903_CR34","unstructured":"Samtools organisation. Htsjdk. \n                    https:\/\/github.com\/samtools\/htsjdk\n                    \n                  . Accessed 19 Sept 2018."},{"key":"2903_CR35","volume-title":"A Tour of C++, Second Edition","author":"B Stroustrup","year":"2018","unstructured":"Stroustrup B. A Tour of C++, Second Edition. Upper Saddle River: Addison-Wesley Professional; 2018."},{"key":"2903_CR36","unstructured":"Icahn School of Medicine at Mount Sinai. High-coverage Whole Exome Sequencing of CEPH\/UTAH Female Individual (HapMap: NA12878). \n                    https:\/\/www.ncbi.nlm.nih.gov\/sra\/SRX731649\n                    \n                  . Accessed 19 Sept 2018."},{"key":"2903_CR37","doi-asserted-by":"publisher","unstructured":"Georges A, Buytaert D, Eeckhout L. Adding rigorous statistics to the Java benchmarker\u2019s toolbox. In: Companion to the 22nd ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications. New York: ACM: 2007. p. 793\u20134. \n                    https:\/\/doi.org\/10.1145\/1297846.1297891\n                    \n                  .","DOI":"10.1145\/1297846.1297891"},{"key":"2903_CR38","unstructured":"Herzeel C. elPrep \u2013 Execution Command Options. \n                    https:\/\/github.com\/ExaScience\/elprep\/tree\/2.61#execution-command-options\n                    \n                  . Accessed 19 Sept 2018."},{"key":"2903_CR39","doi-asserted-by":"publisher","unstructured":"Berger ED, McKinley KS, Blumofe RD, Wilson PR. Hoard: a scalable memory allocator for multithreaded applications. In: Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems. New York: ACM: 2000. \n                    https:\/\/doi.org\/10.1145\/378993.379232\n                    \n                  .","DOI":"10.1145\/378993.379232"},{"key":"2903_CR40","volume-title":"Intel Threading Building Blocks","author":"J Reinders","year":"2007","unstructured":"Reinders J. Intel Threading Building Blocks. Sebastopol: O\u2019Reilly; 2007."},{"key":"2903_CR41","unstructured":"gperftools. \n                    https:\/\/github.com\/gperftools\/gperftools\n                    \n                  . Accessed 19 Sept 2018."},{"key":"2903_CR42","unstructured":"jemalloc. \n                    http:\/\/jemalloc.net\n                    \n                  . Accessed 19 Sept 2018."},{"key":"2903_CR43","unstructured":"Java Platform, Standard Edition Tools Reference. \n                    https:\/\/docs.oracle.com\/javase\/10\/tools\/java.htm\n                    \n                  . Accessed 19 Sept 2018."},{"issue":"10","key":"2903_CR44","doi-asserted-by":"publisher","first-page":"167","DOI":"10.21105\/joss.00167","volume":"2","author":"R Daniel Kortschak","year":"2017","unstructured":"Kortschak RD, Snyder JB, Maragkakis M, Adelson DL. b\u00edogo: a simple high-performance bioinformatics toolkit for the Go language. J Open Source Softw. 2017; 2(10):167. \n                    https:\/\/doi.org\/10.21105\/joss.00167\n                    \n                  .","journal-title":"The Journal of Open Source Software"},{"key":"2903_CR45","doi-asserted-by":"publisher","unstructured":"Shen W, Li Y. A novel algorithm for detecting multiple covariance and clustering of biological sequences. Sci Rep. 2016; 6. \n                    https:\/\/doi.org\/10.1038\/srep30425\n                    \n                  .","DOI":"10.1038\/srep30425"},{"issue":"10","key":"2903_CR46","doi-asserted-by":"publisher","first-page":"e0163962","DOI":"10.1371\/journal.pone.0163962","volume":"11","author":"Wei Shen","year":"2016","unstructured":"Shen W, Le S, Li Y, Hu F. Seqkit: A cross-platform and ultrafast toolkit for FASTA\/Q file manipulation. PLoS ONE. 2016; 11(10). \n                    https:\/\/doi.org\/10.1371\/journal.pone.0163962\n                    \n                  .","journal-title":"PLOS ONE"},{"key":"2903_CR47","doi-asserted-by":"publisher","unstructured":"Pedersen BS, Layer RM, Quinlan AR. Vcfanno: fast, flexible annotation of genetic variants. Genome Biol. 2016; 17(1):118. \n                    https:\/\/doi.org\/10.1186\/s13059-016-0973-5\n                    \n                  .","DOI":"10.1186\/s13059-016-0973-5"},{"key":"2903_CR48","doi-asserted-by":"publisher","unstructured":"Detlefs D, Flood C, Heller S, Printezis T. Garbage-first garbage collection. In: Proceedings of the 4th International Symposium on Memory Managament. New York: ACM: 2004. \n                    https:\/\/doi.org\/10.1145\/1029873.1029879\n                    \n                  .","DOI":"10.1145\/1029873.1029879"},{"key":"2903_CR49","unstructured":"Hudson RL. Getting to Go. \n                    https:\/\/blog.golang.org\/ismmkeynote\n                    \n                  . Accessed 19 Sept 2018."},{"key":"2903_CR50","volume-title":"The Rust Programming Language","author":"S Klabnik","year":"2018","unstructured":"Klabnik S, Nichols C. The Rust Programming Language. San Francisco: No Starch Press; 2018."}],"container-title":["BMC Bioinformatics"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1186\/s12859-019-2903-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1186\/s12859-019-2903-5\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1186\/s12859-019-2903-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,6,1]],"date-time":"2020-06-01T19:45:56Z","timestamp":1591040756000},"score":1,"resource":{"primary":{"URL":"https:\/\/bmcbioinformatics.biomedcentral.com\/articles\/10.1186\/s12859-019-2903-5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,6,3]]},"references-count":50,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2019,12]]}},"alternative-id":["2903"],"URL":"https:\/\/doi.org\/10.1186\/s12859-019-2903-5","relation":{"has-preprint":[{"id-type":"doi","id":"10.1101\/558056","asserted-by":"object"}]},"ISSN":["1471-2105"],"issn-type":[{"value":"1471-2105","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,6,3]]},"assertion":[{"value":"21 February 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"15 May 2019","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"3 June 2019","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"Not applicable.","order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethics approval and consent to participate"}},{"value":"Not applicable.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Consent for publication"}},{"value":"The authors are employees of imec, Belgium, and declare that they have no competing interests.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Competing interests"}},{"value":"Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.","order":4,"name":"Ethics","group":{"name":"EthicsHeading","label":"Publisher\u2019s Note"}}],"article-number":"301"}}