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