{"id":"https://openalex.org/W2950817743","doi":"https://doi.org/10.1186/s12859-019-2903-5","title":"A comparison of three programming languages for a full-fledged next-generation sequencing tool","display_name":"A comparison of three programming languages for a full-fledged next-generation sequencing tool","publication_year":2019,"publication_date":"2019-06-03","ids":{"openalex":"https://openalex.org/W2950817743","doi":"https://doi.org/10.1186/s12859-019-2903-5","mag":"2950817743","pmid":"https://pubmed.ncbi.nlm.nih.gov/31159721"},"language":"en","primary_location":{"id":"doi:10.1186/s12859-019-2903-5","is_oa":true,"landing_page_url":"https://doi.org/10.1186/s12859-019-2903-5","pdf_url":"https://bmcbioinformatics.biomedcentral.com/counter/pdf/10.1186/s12859-019-2903-5","source":{"id":"https://openalex.org/S19032547","display_name":"BMC Bioinformatics","issn_l":"1471-2105","issn":["1471-2105"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310320256","host_organization_name":"BioMed Central","host_organization_lineage":["https://openalex.org/P4310320256","https://openalex.org/P4310319965"],"host_organization_lineage_names":["BioMed Central","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"BMC Bioinformatics","raw_type":"journal-article"},"type":"article","indexed_in":["crossref","doaj","pubmed"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://bmcbioinformatics.biomedcentral.com/counter/pdf/10.1186/s12859-019-2903-5","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5082125013","display_name":"Pascal Costanza","orcid":"https://orcid.org/0000-0001-8894-3238"},"institutions":[{"id":"https://openalex.org/I196972281","display_name":"Imec the Netherlands","ror":"https://ror.org/01ezq2j76","country_code":"NL","type":"facility","lineage":["https://openalex.org/I196972281"]},{"id":"https://openalex.org/I4210114974","display_name":"IMEC","ror":"https://ror.org/02kcbn207","country_code":"BE","type":"nonprofit","lineage":["https://openalex.org/I4210114974"]}],"countries":["BE","NL"],"is_corresponding":true,"raw_author_name":"Pascal Costanza","raw_affiliation_strings":["imec, ExaScience Lab, Kapeldreef 75, Leuven, 3001, Belgium","imec, ExaScience Lab, Leuven, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"imec, ExaScience Lab, Kapeldreef 75, Leuven, 3001, Belgium","institution_ids":["https://openalex.org/I4210114974","https://openalex.org/I196972281"]},{"raw_affiliation_string":"imec, ExaScience Lab, Leuven, Belgium","institution_ids":["https://openalex.org/I4210114974"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5003882528","display_name":"Charlotte Herzeel","orcid":"https://orcid.org/0000-0002-9319-9885"},"institutions":[{"id":"https://openalex.org/I4210114974","display_name":"IMEC","ror":"https://ror.org/02kcbn207","country_code":"BE","type":"nonprofit","lineage":["https://openalex.org/I4210114974"]},{"id":"https://openalex.org/I196972281","display_name":"Imec the Netherlands","ror":"https://ror.org/01ezq2j76","country_code":"NL","type":"facility","lineage":["https://openalex.org/I196972281"]}],"countries":["BE","NL"],"is_corresponding":false,"raw_author_name":"Charlotte Herzeel","raw_affiliation_strings":["imec, ExaScience Lab, Kapeldreef 75, Leuven, 3001, Belgium","imec, ExaScience Lab, Leuven, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"imec, ExaScience Lab, Kapeldreef 75, Leuven, 3001, Belgium","institution_ids":["https://openalex.org/I4210114974","https://openalex.org/I196972281"]},{"raw_affiliation_string":"imec, ExaScience Lab, Leuven, Belgium","institution_ids":["https://openalex.org/I4210114974"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5089797698","display_name":"Wilfried Verachtert","orcid":null},"institutions":[{"id":"https://openalex.org/I4210114974","display_name":"IMEC","ror":"https://ror.org/02kcbn207","country_code":"BE","type":"nonprofit","lineage":["https://openalex.org/I4210114974"]},{"id":"https://openalex.org/I196972281","display_name":"Imec the Netherlands","ror":"https://ror.org/01ezq2j76","country_code":"NL","type":"facility","lineage":["https://openalex.org/I196972281"]}],"countries":["BE","NL"],"is_corresponding":false,"raw_author_name":"Wilfried Verachtert","raw_affiliation_strings":["imec, ExaScience Lab, Kapeldreef 75, Leuven, 3001, Belgium","imec, ExaScience Lab, Leuven, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"imec, ExaScience Lab, Kapeldreef 75, Leuven, 3001, Belgium","institution_ids":["https://openalex.org/I4210114974","https://openalex.org/I196972281"]},{"raw_affiliation_string":"imec, ExaScience Lab, Leuven, Belgium","institution_ids":["https://openalex.org/I4210114974"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5082125013"],"corresponding_institution_ids":["https://openalex.org/I196972281","https://openalex.org/I4210114974"],"apc_list":{"value":1690,"currency":"GBP","value_usd":2072},"apc_paid":{"value":1690,"currency":"GBP","value_usd":2072},"fwci":1.5385,"has_fulltext":true,"cited_by_count":26,"citation_normalized_percentile":{"value":0.83083653,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":"20","issue":"1","first_page":"301","last_page":"301"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10015","display_name":"Genomics and Phylogenetic Studies","score":0.9606000185012817,"subfield":{"id":"https://openalex.org/subfields/1312","display_name":"Molecular Biology"},"field":{"id":"https://openalex.org/fields/13","display_name":"Biochemistry, Genetics and Molecular Biology"},"domain":{"id":"https://openalex.org/domains/1","display_name":"Life Sciences"}},"topics":[{"id":"https://openalex.org/T10015","display_name":"Genomics and Phylogenetic Studies","score":0.9606000185012817,"subfield":{"id":"https://openalex.org/subfields/1312","display_name":"Molecular Biology"},"field":{"id":"https://openalex.org/fields/13","display_name":"Biochemistry, Genetics and Molecular Biology"},"domain":{"id":"https://openalex.org/domains/1","display_name":"Life Sciences"}},{"id":"https://openalex.org/T11642","display_name":"Genomics and Rare Diseases","score":0.00860000029206276,"subfield":{"id":"https://openalex.org/subfields/1311","display_name":"Genetics"},"field":{"id":"https://openalex.org/fields/13","display_name":"Biochemistry, Genetics and Molecular Biology"},"domain":{"id":"https://openalex.org/domains/1","display_name":"Life Sciences"}},{"id":"https://openalex.org/T11986","display_name":"Scientific Computing and Data Management","score":0.005100000184029341,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8616341948509216},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.8277637362480164},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.7978761196136475},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6377043724060059},{"id":"https://openalex.org/keywords/bottleneck","display_name":"Bottleneck","score":0.6106396317481995},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5130513906478882},{"id":"https://openalex.org/keywords/manual-memory-management","display_name":"Manual memory management","score":0.5002224445343018},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.47064751386642456},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.44364067912101746},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.38983505964279175},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.1872062385082245}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8616341948509216},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.8277637362480164},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.7978761196136475},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6377043724060059},{"id":"https://openalex.org/C2780513914","wikidata":"https://www.wikidata.org/wiki/Q18210350","display_name":"Bottleneck","level":2,"score":0.6106396317481995},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5130513906478882},{"id":"https://openalex.org/C82810778","wikidata":"https://www.wikidata.org/wiki/Q6752316","display_name":"Manual memory management","level":4,"score":0.5002224445343018},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.47064751386642456},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.44364067912101746},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.38983505964279175},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.1872062385082245}],"mesh":[{"descriptor_ui":"D006801","descriptor_name":"Humans","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D006801","descriptor_name":"Humans","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D006801","descriptor_name":"Humans","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D011381","descriptor_name":"Programming Languages","qualifier_ui":null,"qualifier_name":null,"is_major_topic":true},{"descriptor_ui":"D011381","descriptor_name":"Programming Languages","qualifier_ui":null,"qualifier_name":null,"is_major_topic":true},{"descriptor_ui":"D011381","descriptor_name":"Programming Languages","qualifier_ui":null,"qualifier_name":null,"is_major_topic":true},{"descriptor_ui":"D012984","descriptor_name":"Software","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D012984","descriptor_name":"Software","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D012984","descriptor_name":"Software","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D013997","descriptor_name":"Time Factors","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D013997","descriptor_name":"Time Factors","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D013997","descriptor_name":"Time Factors","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D019985","descriptor_name":"Benchmarking","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D019985","descriptor_name":"Benchmarking","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D019985","descriptor_name":"Benchmarking","qualifier_ui":null,"qualifier_name":null,"is_major_topic":false},{"descriptor_ui":"D059014","descriptor_name":"High-Throughput Nucleotide Sequencing","qualifier_ui":"Q000379","qualifier_name":"methods","is_major_topic":false},{"descriptor_ui":"D059014","descriptor_name":"High-Throughput Nucleotide Sequencing","qualifier_ui":"Q000379","qualifier_name":"methods","is_major_topic":false},{"descriptor_ui":"D059014","descriptor_name":"High-Throughput Nucleotide Sequencing","qualifier_ui":"Q000379","qualifier_name":"methods","is_major_topic":false}],"locations_count":4,"locations":[{"id":"doi:10.1186/s12859-019-2903-5","is_oa":true,"landing_page_url":"https://doi.org/10.1186/s12859-019-2903-5","pdf_url":"https://bmcbioinformatics.biomedcentral.com/counter/pdf/10.1186/s12859-019-2903-5","source":{"id":"https://openalex.org/S19032547","display_name":"BMC Bioinformatics","issn_l":"1471-2105","issn":["1471-2105"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310320256","host_organization_name":"BioMed Central","host_organization_lineage":["https://openalex.org/P4310320256","https://openalex.org/P4310319965"],"host_organization_lineage_names":["BioMed Central","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"BMC Bioinformatics","raw_type":"journal-article"},{"id":"pmid:31159721","is_oa":false,"landing_page_url":"https://pubmed.ncbi.nlm.nih.gov/31159721","pdf_url":null,"source":{"id":"https://openalex.org/S4306525036","display_name":"PubMed","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1299303238","host_organization_name":"National Institutes of Health","host_organization_lineage":["https://openalex.org/I1299303238"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"BMC bioinformatics","raw_type":null},{"id":"pmh:oai:doaj.org/article:8eb9a43e84634510b71c60a1008aeaca","is_oa":true,"landing_page_url":"https://doaj.org/article/8eb9a43e84634510b71c60a1008aeaca","pdf_url":null,"source":{"id":"https://openalex.org/S4306401280","display_name":"DOAJ (DOAJ: Directory of Open Access Journals)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"BMC Bioinformatics, Vol 20, Iss 1, Pp 1-10 (2019)","raw_type":"article"},{"id":"pmh:oai:pubmedcentral.nih.gov:6547519","is_oa":true,"landing_page_url":"https://www.ncbi.nlm.nih.gov/pmc/articles/6547519","pdf_url":null,"source":{"id":"https://openalex.org/S2764455111","display_name":"PubMed Central","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1299303238","host_organization_name":"National Institutes of Health","host_organization_lineage":["https://openalex.org/I1299303238"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"BMC Bioinformatics","raw_type":"Text"}],"best_oa_location":{"id":"doi:10.1186/s12859-019-2903-5","is_oa":true,"landing_page_url":"https://doi.org/10.1186/s12859-019-2903-5","pdf_url":"https://bmcbioinformatics.biomedcentral.com/counter/pdf/10.1186/s12859-019-2903-5","source":{"id":"https://openalex.org/S19032547","display_name":"BMC Bioinformatics","issn_l":"1471-2105","issn":["1471-2105"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310320256","host_organization_name":"BioMed Central","host_organization_lineage":["https://openalex.org/P4310320256","https://openalex.org/P4310319965"],"host_organization_lineage_names":["BioMed Central","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"BMC Bioinformatics","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","score":0.4699999988079071,"id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320307793","display_name":"Western Digital","ror":"https://ror.org/02hqwnx33"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2950817743.pdf","grobid_xml":"https://content.openalex.org/works/W2950817743.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W25798763","https://openalex.org/W57462620","https://openalex.org/W859230734","https://openalex.org/W1572739102","https://openalex.org/W1738949971","https://openalex.org/W1919257374","https://openalex.org/W1982579724","https://openalex.org/W1984766364","https://openalex.org/W1989017925","https://openalex.org/W1991409347","https://openalex.org/W2018696645","https://openalex.org/W2038438407","https://openalex.org/W2049185824","https://openalex.org/W2083612007","https://openalex.org/W2101464091","https://openalex.org/W2107549082","https://openalex.org/W2108234281","https://openalex.org/W2109212388","https://openalex.org/W2119180969","https://openalex.org/W2128274900","https://openalex.org/W2128505445","https://openalex.org/W2132378736","https://openalex.org/W2141287548","https://openalex.org/W2159670728","https://openalex.org/W2160363604","https://openalex.org/W2168775768","https://openalex.org/W2204863282","https://openalex.org/W2484518614","https://openalex.org/W2484713940","https://openalex.org/W2529838505","https://openalex.org/W2575651982","https://openalex.org/W2601152038","https://openalex.org/W2609131615","https://openalex.org/W2809042564","https://openalex.org/W2950018741","https://openalex.org/W2950987362","https://openalex.org/W2952191974","https://openalex.org/W3016205154","https://openalex.org/W3101068774","https://openalex.org/W4234825413","https://openalex.org/W4249713879","https://openalex.org/W6688249034"],"related_works":["https://openalex.org/W2132258996","https://openalex.org/W2245694847","https://openalex.org/W3022395790","https://openalex.org/W1588734579","https://openalex.org/W2042469414","https://openalex.org/W2904040114","https://openalex.org/W2142383914","https://openalex.org/W2013466772","https://openalex.org/W1487406077","https://openalex.org/W1700460898"],"abstract_inverted_index":{"BACKGROUND:":[0],"elPrep":[1,118],"is":[2,56,167,198],"an":[3],"established":[4],"multi-threaded":[5],"framework":[6],"for":[7,32,109,227,237,242],"preparing":[8],"SAM":[9],"and":[10,36,62,88,100,123,128,144,179,229],"BAM":[11],"files":[12],"in":[13,44,60,69,119,210],"sequencing":[14,38],"pipelines.":[15],"To":[16],"achieve":[17],"good":[18,235],"performance,":[19],"its":[20,70],"software":[21],"architecture":[22],"makes":[23],"only":[24],"a":[25,29,57,65,91,152,202,234],"single":[26],"pass":[27],"through":[28],"SAM/BAM":[30,50,244],"file":[31],"multiple":[33],"preparation":[34],"steps,":[35],"keeps":[37],"data":[39,245],"as":[40,42,222,233,246],"much":[41],"possible":[43],"main":[45],"memory.":[46],"Similar":[47],"to":[48],"other":[49,107,239],"tools,":[51],"management":[52],"of":[53,78,113,163,205],"heap":[54,114,204],"memory":[55,129,145,161,185],"complex":[58],"task":[59],"elPrep,":[61,228],"it":[63],"became":[64],"serious":[66],"productivity":[67],"bottleneck":[68],"original":[71],"implementation":[72,134,225],"language":[73,226],"during":[74],"recent":[75],"further":[76],"development":[77],"elPrep.":[79],"We":[80,116],"therefore":[81],"investigated":[82],"three":[83,121],"alternative":[84],"programming":[85],"languages:":[86],"Go":[87,133,158,178,188,221,232],"Java":[89,149,165],"using":[90,102,182],"concurrent,":[92,194],"parallel":[93,195],"garbage":[94,196],"collector":[95],"on":[96,105,215],"the":[97,106,138,148,157,160,164,187],"one":[98],"hand,":[99],"C++17":[101,171],"reference":[103,208],"counting":[104,209],"hand":[108],"handling":[110],"large":[111,203],"amounts":[112],"objects.":[115],"reimplemented":[117],"all":[120],"languages":[122],"benchmarked":[124],"their":[125],"runtime":[126,142,155],"performance":[127,143],"use.":[130,146],"RESULTS:":[131],"The":[132,170],"performs":[135],"best,":[136],"yielding":[137],"best":[139],"balance":[140],"between":[141],"While":[147],"benchmarks":[150,172],"report":[151],"somewhat":[153,183],"faster":[154],"than":[156,176,186,207],"benchmarks,":[159],"use":[162],"runs":[166],"significantly":[168,174],"higher.":[169],"run":[173],"slower":[175],"both":[177],"Java,":[180],"while":[181],"more":[184],"runs.":[189],"Our":[190],"analysis":[191],"shows":[192],"that":[193],"collection":[197],"better":[199],"at":[200],"managing":[201],"objects":[206],"our":[211,216,223],"case.":[212],"CONCLUSIONS:":[213],"Based":[214],"benchmark":[217],"results,":[218],"we":[219],"selected":[220],"new":[224],"recommend":[230],"considering":[231],"candidate":[236],"developing":[238],"bioinformatics":[240],"tools":[241],"processing":[243],"well.":[247]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":9},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":1}],"updated_date":"2026-05-06T08:25:59.206177","created_date":"2025-10-10T00:00:00"}
