*Result*: Sharing Programming Resources Between Bio* Projects.

Title:
Sharing Programming Resources Between Bio* Projects.
Authors:
Bonnal RJP; Istituto Nazionale Genetica Molecolare INGM Romeo ed Enrica Invernizzi, Milan, Italy., Yates A; European Molecular Biology Laboratory, European Bioinformatics Institute, Wellcome Genome Campus, Hinxton, Cambridge, UK., Goto N; Department of Genome Informatics, Genome Information Research Center, Research Institute for Microbial Diseases, Osaka University, Osaka, Japan., Gautier L; DMAC, Center for Biological Sequence Analysis, Department of Systems Biology, Technical University of Denmark, Kongens Lyngby, Denmark., Willis S; Department of Computer & Information Science & Engineering, University of Florida, Gainesville, FL, USA., Fields C; Institute for Genomic Biology, University of Illinois at Urbana-Champaign, Urbana, IL, USA., Katayama T; Database Center for Life Science, Joint Support-Center for Data Science Research, Research Organization of Information and Systems, Chiba, Japan., Prins P; Department of Genetics, Center for Molecular Medicine, University Medical Center Utrecht, Utrecht University, Utrecht, The Netherlands. pjotr2018@thebird.nl.
Source:
Methods in molecular biology (Clifton, N.J.) [Methods Mol Biol] 2019; Vol. 1910, pp. 747-766.
Publication Type:
Journal Article
Language:
English
Journal Info:
Publisher: Humana Press Country of Publication: United States NLM ID: 9214969 Publication Model: Print Cited Medium: Internet ISSN: 1940-6029 (Electronic) Linking ISSN: 10643745 NLM ISO Abbreviation: Methods Mol Biol Subsets: MEDLINE
Imprint Name(s):
Publication: Totowa, NJ : Humana Press
Original Publication: Clifton, N.J. : Humana Press
References:
Bioinformatics. 2009 Jun 1;25(11):1422-3. (PMID: 19304878)
Nucleic Acids Res. 2010 Jan;38(Database issue):D211-22. (PMID: 19920124)
Trends Genet. 2000 Jun;16(6):276-7. (PMID: 10827456)
Bioinformatics. 2010 Oct 15;26(20):2617-9. (PMID: 20739307)
Genome Res. 2002 Oct;12(10):1611-8. (PMID: 12368254)
Nucleic Acids Res. 2010 Jan;38(Database issue):D463-7. (PMID: 19910365)
Nucleic Acids Res. 2005 Jan 1;33(Database issue):D154-9. (PMID: 15608167)
Acta Crystallogr D Biol Crystallogr. 2002 Jun;58(Pt 6 No 1):899-907. (PMID: 12037327)
Genome Biol. 2004;5(10):R80. (PMID: 15461798)
Bioinformatics. 2008 Sep 15;24(18):2096-7. (PMID: 18689808)
Comput Appl Biosci. 1997 Oct;13(5):555-6. (PMID: 9367129)
Bioinformatics. 2003 Aug 12;19(12):1572-4. (PMID: 12912839)
Nucleic Acids Res. 1997 Sep 1;25(17):3389-402. (PMID: 9254694)
Bioinformatics. 2004 Jan 22;20(2):289-90. (PMID: 14734327)
Nucleic Acids Res. 2005 Jan 20;33(2):511-8. (PMID: 15661851)
Bioinformatics. 2007 Mar 1;23(5):641-3. (PMID: 17237038)
Bioinformatics. 2007 Nov 1;23(21):2947-8. (PMID: 17846036)
PLoS Comput Biol. 2008 May 30;4(5):e1000069. (PMID: 18516236)
Bioinformatics. 2010 Dec 1;26(23):2990-2. (PMID: 20966004)
BMC Bioinformatics. 2010 Dec 21;11 Suppl 12:S11. (PMID: 21210978)
BMC Bioinformatics. 2004 Aug 19;5:113. (PMID: 15318951)
BMC Bioinformatics. 2006 Apr 04;7:188. (PMID: 16594991)
Nucleic Acids Res. 2000 Jan 1;28(1):27-30. (PMID: 10592173)
Bioinformatics. 2005 Feb 15;21(4):545-7. (PMID: 15374859)
Contributed Indexing:
Keywords: Bioinformatics; EMBOSS; Java; PAML; Perl; Python; R; RPC; Ruby; Web services
Entry Date(s):
Date Created: 20190707 Date Completed: 20200108 Latest Revision: 20200514
Update Code:
20260130
PubMed Central ID:
PMC7212028
DOI:
10.1007/978-1-4939-9074-0_25
PMID:
31278684
Database:
MEDLINE

*Further Information*

*Open-source software encourages computer programmers to reuse software components written by others. In evolutionary bioinformatics, open-source software comes in a broad range of programming languages, including C/C++, Perl, Python, Ruby, Java, and R. To avoid writing the same functionality multiple times for different languages, it is possible to share components by bridging computer languages and Bio* projects, such as BioPerl, Biopython, BioRuby, BioJava, and R/Bioconductor.In this chapter, we compare the three principal approaches for sharing software between different programming languages: by remote procedure call (RPC), by sharing a local "call stack," and by calling program to programs. RPC provides a language-independent protocol over a network interface; examples are SOAP and Rserve. The local call stack provides a between-language mapping, not over the network interface but directly in computer memory; examples are R bindings, RPy, and languages sharing the Java virtual machine stack. This functionality provides strategies for sharing of software between Bio* projects, which can be exploited more often.Here, we present cross-language examples for sequence translation and measure throughput of the different options. We compare calling into R through native R, RSOAP, Rserve, and RPy interfaces, with the performance of native BioPerl, Biopython, BioJava, and BioRuby implementations and with call stack bindings to BioJava and the European Molecular Biology Open Software Suite (EMBOSS).In general, call stack approaches outperform native Bio* implementations, and these, in turn, outperform "RPC"-based approaches. To test and compare strategies, we provide a downloadable Docker container with all examples, tools, and libraries included.*