Enhancing non-Perl bioinformatic applications with Perl: Building novel, component based applications using Object Orientation, PDL, Alien, FFI, Inline and OpenMP - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2024

Enhancing non-Perl bioinformatic applications with Perl: Building novel, component based applications using Object Orientation, PDL, Alien, FFI, Inline and OpenMP

Résumé

Component-Based Software Engineering (CBSE) is a methodology that assembles pre-existing, reusable software components into new applications, which is particularly relevant for fast moving, dataintensive fields such as bioinformatics. While Perl was used extensively in this field until a decade ago,more recent applications opt for a Bioconductor/R or Python. This trend represents a significantly missed opportunity for the rapid generation of novel bioinformatic applications out of pre-existing components since Perl offers a variety of abstractions that can facilitate composition. In this paper, we illustrate the utility of Perl,for CBSE through a combination of Object Oriented (OO) frameworks, the Perl Data Language (PDL) and facilities for interfacing with non-Perl code through Foreign Function Interfaces (FFI) and inlining of foreign source code. To do so, we enhance Polyester, a RNA sequencing simulator written in R, and edlib a fast sequence similarity search library based on text edit distance. The first case study illustrates the near effortless authoring of new, highly performant Perl modules for the simulation of random numbers using the GNU Scientific Library (GSL) and PDL, and proposes Perl and Perl/C alternatives to the Python tool cutadapt that is used to ”trim” polyA tails from biological sequences. For the edlib case, we leverage the power of metaclass programming to endow edlib with coarse, process based parallelism, through the Many Core Engine (MCE) module and fine grained parallelism through OpenMP, a C/C++/Fortran Application Programming Interface (API) for shared memory multithreaded processing. These use cases provide proof-of-concept for the Bio::SeqAlignment framework, which can organize heterogeneous components in complex memory and command-line based workflows for the construction of novel bionformatic tools to analyze data from the long-read sequencing, e.g. Nanopore, sequencing platforms
Fichier principal
Vignette du fichier
perltalk.pdf (5.52 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04606172 , version 1 (09-06-2024)

Identifiants

  • HAL Id : hal-04606172 , version 1

Citer

Christos Argyropoulos. Enhancing non-Perl bioinformatic applications with Perl: Building novel, component based applications using Object Orientation, PDL, Alien, FFI, Inline and OpenMP. 2024. ⟨hal-04606172⟩
0 Consultations
0 Téléchargements

Partager

Gmail Mastodon Facebook X LinkedIn More