-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9 from BioJulia/dev
Comparisons, Julia/BioJulia installation sections + devcontainer
- Loading branch information
Showing
16 changed files
with
429 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"features": { | ||
"ghcr.io/julialang/devcontainer-features/julia:1": { | ||
"channel": "lts" | ||
} | ||
}, | ||
"customizations": { | ||
"vscode": { | ||
"extensions": [ | ||
"julialang.language-julia", | ||
"tamasfe.even-better-toml", | ||
"eamodio.gitlens" | ||
] | ||
} | ||
}, | ||
"onCreateCommand": "julia --project=docs -e 'using Pkg; Pkg.instantiate(); Pkg.precompile();'" | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,41 @@ | ||
# [BioJava (Java)](@id biojava) | ||
|
||
- [BioJava](https://biojava.org/index.html) is a biological data processing library written in the Java programming language | ||
- BioJava tooling is distributed via multiple classes within the same `org.biojava` package | ||
- Launched in 2002 with six major releases covering more than 11 Java releases | ||
|
||
**A few equivalent applications between BioJulia and BioJava:** | ||
|
||
| Application | BioJulia packages | BioJava modules | | ||
|:--------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------| | ||
| Input/Output | [FASTX](https://biojulia.dev/FASTX.jl/stable/), [XAM](https://biojulia.dev/XAM.jl/stable/), [BigWig](https://biojulia.dev/BigWig.jl/dev/),... | `nbio.genome.io.fastq`, `nbio.ontology.obo`,... | | ||
| Sequence alignment | [BioSequences](https://biojulia.dev/BioSequences.jl/stable/), [BioAlignments](https://biojulia.dev/BioAlignments.jl/stable/) | `nbio.sequence`, `nbio.alignment` | | ||
| Macromolecular structures | [BioStructures](https://biojulia.dev/BioStructures.jl/stable/) | `nbio.structure` | | ||
|
||
**A few package/ecosystem equivalents between Julia and Java:** | ||
|
||
| Application | Julia | Java | | ||
|:---------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------| | ||
| Data manipulation/analysis | [DataFrames](https://dataframes.juliadata.org/stable/), [CSV](https://csv.juliadata.org/stable/), [Query](https://www.queryverse.org/Query.jl/stable/) | `Tablesaw` | | ||
| Plotting/visualization | [Plots](https://docs.juliaplots.org/stable/), [Makie](https://docs.makie.org/stable/) | `JFreeChart`, `Jzy3d` | | ||
| Statistical analysis | [Statistics](https://docs.julialang.org/en/v1/stdlib/Statistics/), [HypothesisTests](https://github.com/JuliaStats/HypothesisTests.jl) | `Statistics (Apache Commons)`, `NM Dev` | | ||
| Machine learning | [Flux](https://fluxml.ai/Flux.jl/stable/), [SciML](https://sciml.ai/) | `Java-ML`, `Neuroph` | | ||
| Numerical mathematics | [LinearAlgebra](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/) | `NM Dev` | | ||
| Notebook/report generator | [IJulia](https://julialang.github.io/IJulia.jl/stable/), [Pluto](https://plutojl.org/) | `IJava` | | ||
| Web applications | [Genie](https://genieframework.com/), [Franklin](https://franklinjl.org/) | `Grails`, `Javalin` | | ||
|
||
**A few notable differences between Julia and Java:** | ||
|
||
| Julia | Java | | ||
|:-----------------------------------------------------------------------|:-----------------------------------------------------------------------------------------| | ||
| High-level, general-purpose compiled language | High-level, object-oriented, two-step (compiled and interpreted) language | | ||
| Expression-based (statements yield a value) | Statement-based (assignment as a statement) | | ||
| Dynamically typed with multiple dispatch and optional type annotations | Statically typed with required type declarations | | ||
| Built-in parallelism via threads, coroutines (Tasks) | Built-in parallelism via threads, streams, fibers (Project Loom) | | ||
| Extensive metaprogramming (Lisp-like macros, homoiconicity,...) | Less extensive metaprogramming (reflection, annotations,...) | | ||
| Included default package manager | No default package manager (dependency/build management tools include Maven, Gradle,...) | | ||
| Single implementation available (JuliaLang) | Multiple implementations available (OpenJDK, GraalVM,...) | | ||
|
||
**To transition from Java to Julia:** | ||
- Use [JavaCall.jl](https://juliainterop.github.io/JavaCall.jl/) to seamlessly integrate Java code into your Julia project | ||
- See [Running External Programs](https://docs.julialang.org/en/v1/manual/running-external-programs/) in the Julia manual for running Java scripts or other programs from Julia |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,39 @@ | ||
# [BioPerl (Perl)](@id bioperl) | ||
# [BioPerl (Perl5)](@id bioperl) | ||
|
||
- [BioPerl](https://bioperl.org/) 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](https://biojulia.dev/FASTX.jl/stable/), [XAM](https://biojulia.dev/XAM.jl/stable/), [BigWig](https://biojulia.dev/BigWig.jl/dev/),... | `SeqIO` | | ||
| Sequence alignment | [BioSequences](https://biojulia.dev/BioSequences.jl/stable/), [BioAlignments](https://biojulia.dev/BioAlignments.jl/stable/) | `AlignIO`, `SimpleAlign` | | ||
| Data structures | [Kmers](https://biojulia.dev/Kmers.jl/stable/), [IntervalTrees](https://biojulia.dev/IntervalTrees.jl/stable/) | `Bio::Kmer`, `Bio::Tree` | | ||
| Population Genetics | [PopGen](https://biojulia.dev/PopGen.jl/) | `PopGen` | | ||
|
||
**A few package/ecosystem equivalents between Julia and Perl5:** | ||
|
||
| Application | Julia | Perl5 | | ||
|:---------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------| | ||
| Data manipulation/analysis | [DataFrames](https://dataframes.juliadata.org/stable/), [CSV](https://csv.juliadata.org/stable/), [Query](https://www.queryverse.org/Query.jl/stable/) | `PDL`, `Text-CSV` | | ||
| Plotting/visualization | [Plots](https://docs.juliaplots.org/stable/), [Gadfly](http://gadflyjl.org/stable/), [Makie](https://docs.makie.org/stable/) | `GDGraph`, `Chart-GGPlot` | | ||
| Statistical analysis | [Statistics](https://docs.julialang.org/en/v1/stdlib/Statistics/), [HypothesisTests](https://github.com/JuliaStats/HypothesisTests.jl), [GLM](https://github.com/JuliaStats/GLM.jl) | `Statistics-Descriptive`, `PDL-Stats` | | ||
| Numerical mathematics | [LinearAlgebra](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/), [Symbolics](https://symbolics.juliasymbolics.org/stable/) | `PDL-LinearAlgebra`, `Math-Symbolic` | | ||
| Notebook/report generator | [IJulia](https://julialang.github.io/IJulia.jl/stable/), [Pluto](https://plutojl.org/) | `Devel-IPerl` | | ||
| Web applications | [Genie](https://genieframework.com/), [Franklin](https://franklinjl.org/) | `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](https://docs.julialang.org/) for an in-depth look at its internals and features | ||
- See [Running External Programs](https://docs.julialang.org/en/v1/manual/running-external-programs/) in the manual for running Perl scripts or other programs from Julia |
Oops, something went wrong.