Bioconductor (R)

  • Bioconductor represents an ecosystem of related genomics tools written in the R programming language
  • Tools written in other languages, such as C and Python, are also included with R wrappers available
  • Launched over two decades ago, it now hosts over 2000 packages for bioinformatics and related fields
  • Packages cover a broard range of methods for the analysis and manipulation of genomic data

A few equivalent applications between BioJulia and Bioconductor:

ApplicationBioJulia packagesBioconductor packages
Data structuresBioSymbols, KmerAnalysis, IntervalTreesBiobase
Sequence annotationGenomicFeatures, GenomicAnnotations, FormatSpecimensAnnotationHub
Input/OutputFASTX, XAM, BigWig,...BiocIO, Biostrings, ShortRead,...
Sequence alignmentBioSequences, BioAlignmentsBiostrings
Expression analysisSingleCellProjectionsDESeq2

A few package/ecosystem equivalents between Julia and R:

ApplicationJuliaR
Data manipulation/analysisDataFrames, CSV, Query, Tidiertibble, dplyr, tidyverse
Plotting/visualizationGadfly, VegaLite, Makie, TidierPlotsggplot2, vegalite, plotly
Statistical analysisStatistics, HypothesisTests, GLMstats
Machine learningFlux, SciML, MLJ, Zygotemlr3, caret, tidymodels, Deriv
Numerical mathematicsLinearAlgebra, IterativeSolversMatrix, pracma, deSolve
Web applicationsGenie, Franklinshiny

A few notable differences between Julia and R:

JuliaR
High-level, general-purpose compiled languageHigh-level, interpreted language for statistical computing
Dynamically typed with multiple dispatch and optional type annotationsDynamically typed without type annotations support
Built-in parallelism via threads, coroutines (Tasks)Parallelism via external libraries (BLAS, parallel,...)
Extensive metaprogramming (Lisp-like macros, generated functions,...)Less extensive metaprogramming (function factories, expression manipulation,...)
Single implementation available (JuliaLang)Multiple implementations available (pqR, Renjin,...)

To transition from R to Julia: