BioPerl (Perl5)
BioPerl represents an ecosystem of related molecular biology modules written in the Perl5 programming language
Supported by the Open Bioinformatics Foundation and includes additional utilities and interfaces for common bioinformatics applications
Launched in 2002 and has contributed to major scientific achievements including the Human Genome Project
A few equivalent application tools between BioJulia and BioPerl:
Application | BioJulia packages | BioPerl modules/objects |
---|---|---|
Input/Output | FASTX, XAM, BigWig,... | SeqIO |
Sequence alignment | BioSequences, BioAlignments | AlignIO , SimpleAlign |
Data structures | Kmers, IntervalTrees | Bio::Kmer , Bio::Tree |
Population Genetics | PopGen | PopGen |
A few package/ecosystem equivalents between Julia and Perl5:
Application | Julia | Perl5 |
---|---|---|
Data manipulation/analysis | DataFrames, CSV, Query | PDL , Text-CSV |
Plotting/visualization | Plots, Gadfly, Makie, TidierPlots | GDGraph , Chart-GGPlot |
Statistical analysis | Statistics, HypothesisTests, GLM | Statistics-Descriptive , PDL-Stats |
Numerical mathematics | LinearAlgebra, Symbolics | PDL-LinearAlgebra , Math-Symbolic |
Notebook/report generator | IJulia, Pluto | Devel-IPerl |
Web applications | Genie, Franklin | Catalyst , Mojolicious |
A few notable differences between Julia and Perl5:
Julia | Perl5 |
---|---|
High-level, general-purpose compiled language | High-level, general-purpose interpreted language |
Dynamically typed with multiple dispatch and optional type annotations | Dynamically typed without type annotations support |
Built-in parallelism via threads, coroutines (Tasks) | Parallelism via threads, external modules (Coro , Parallel ,...) |
Lisp-inspired metaprogramming (S-expressions, homoiconicity,...) | Macro-less metaprogramming capabilities (eval, symbol table manipulation,...) |
Single language implementation (JuliaLang) | Family of related languages/implementations (Perl5, Perl6/Raku, ActivePerl,...) |
To transition from Perl5 to Julia:
Read the Julia manual for an in-depth look at its internals and features
See Running External Programs in the manual for running Perl scripts or other programs from Julia