Sharing Programming Resources Between Bio* Projects.


Journal

Methods in molecular biology (Clifton, N.J.)
ISSN: 1940-6029
Titre abrégé: Methods Mol Biol
Pays: United States
ID NLM: 9214969

Informations de publication

Date de publication:
2019
Historique:
entrez: 7 7 2019
pubmed: 7 7 2019
medline: 9 1 2020
Statut: ppublish

Résumé

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.

Identifiants

pubmed: 31278684
doi: 10.1007/978-1-4939-9074-0_25
pmc: PMC7212028
mid: EMS86284
doi:

Types de publication

Journal Article

Langues

eng

Sous-ensembles de citation

IM

Pagination

747-766

Références

Bioinformatics. 2009 Jun 1;25(11):1422-3
pubmed: 19304878
Nucleic Acids Res. 2010 Jan;38(Database issue):D211-22
pubmed: 19920124
Trends Genet. 2000 Jun;16(6):276-7
pubmed: 10827456
Bioinformatics. 2010 Oct 15;26(20):2617-9
pubmed: 20739307
Genome Res. 2002 Oct;12(10):1611-8
pubmed: 12368254
Nucleic Acids Res. 2010 Jan;38(Database issue):D463-7
pubmed: 19910365
Nucleic Acids Res. 2005 Jan 1;33(Database issue):D154-9
pubmed: 15608167
Acta Crystallogr D Biol Crystallogr. 2002 Jun;58(Pt 6 No 1):899-907
pubmed: 12037327
Genome Biol. 2004;5(10):R80
pubmed: 15461798
Bioinformatics. 2008 Sep 15;24(18):2096-7
pubmed: 18689808
Comput Appl Biosci. 1997 Oct;13(5):555-6
pubmed: 9367129
Bioinformatics. 2003 Aug 12;19(12):1572-4
pubmed: 12912839
Nucleic Acids Res. 1997 Sep 1;25(17):3389-402
pubmed: 9254694
Bioinformatics. 2004 Jan 22;20(2):289-90
pubmed: 14734327
Nucleic Acids Res. 2005 Jan 20;33(2):511-8
pubmed: 15661851
Bioinformatics. 2007 Mar 1;23(5):641-3
pubmed: 17237038
Bioinformatics. 2007 Nov 1;23(21):2947-8
pubmed: 17846036
PLoS Comput Biol. 2008 May 30;4(5):e1000069
pubmed: 18516236
Bioinformatics. 2010 Dec 1;26(23):2990-2
pubmed: 20966004
BMC Bioinformatics. 2010 Dec 21;11 Suppl 12:S11
pubmed: 21210978
BMC Bioinformatics. 2004 Aug 19;5:113
pubmed: 15318951
BMC Bioinformatics. 2006 Apr 04;7:188
pubmed: 16594991
Nucleic Acids Res. 2000 Jan 1;28(1):27-30
pubmed: 10592173
Bioinformatics. 2005 Feb 15;21(4):545-7
pubmed: 15374859

Auteurs

Raoul J P Bonnal (RJP)

Istituto Nazionale Genetica Molecolare INGM Romeo ed Enrica Invernizzi, Milan, Italy.

Andrew Yates (A)

European Molecular Biology Laboratory, European Bioinformatics Institute, Wellcome Genome Campus, Hinxton, Cambridge, UK.

Naohisa Goto (N)

Department of Genome Informatics, Genome Information Research Center, Research Institute for Microbial Diseases, Osaka University, Osaka, Japan.

Laurent Gautier (L)

DMAC, Center for Biological Sequence Analysis, Department of Systems Biology, Technical University of Denmark, Kongens Lyngby, Denmark.

Scooter Willis (S)

Department of Computer & Information Science & Engineering, University of Florida, Gainesville, FL, USA.

Christopher Fields (C)

Institute for Genomic Biology, University of Illinois at Urbana-Champaign, Urbana, IL, USA.

Toshiaki Katayama (T)

Database Center for Life Science, Joint Support-Center for Data Science Research, Research Organization of Information and Systems, Chiba, Japan.

Pjotr Prins (P)

Department of Genetics, Center for Molecular Medicine, University Medical Center Utrecht, Utrecht University, Utrecht, The Netherlands. pjotr2018@thebird.nl.

Articles similaires

Selecting optimal software code descriptors-The case of Java.

Yegor Bugayenko, Zamira Kholmatova, Artem Kruglov et al.
1.00
Software Algorithms Programming Languages
Humans Adult Male Female Video Games

Exploring blood-brain barrier passage using atomic weighted vector and machine learning.

Yoan Martínez-López, Paulina Phoobane, Yanaima Jauriga et al.
1.00
Blood-Brain Barrier Machine Learning Humans Support Vector Machine Software
Cephalometry Humans Anatomic Landmarks Software Internet

Classifications MeSH