-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathsession6-conclusions.qmd
56 lines (34 loc) · 2.25 KB
/
session6-conclusions.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
title: "6: Conclusions"
author: "Claudia Solis-Lemus and Douglas Bates"
subtitle: "ISMB 2022 Madison"
---
# Today we learned
- Julia provides many advantages to data science programmers especially those creating programs that need to be efficient and that will be shared with the scientific community
- Julia allows programmers to easily write good performant code and avoid the two language problem
Among the main Julia tools, we focused on five:
## 1. Data tools:
- [Arrow.jl](https://github.com/JuliaData/Arrow.jl): memory, layout, data frame, binary form. The binary form allows for cross-platform use (julia, R, python). Need to be careful going from Julia to R.
- [Tables.jl](https://github.com/JuliaData/Tables.jl): generic idea of data table; row oriented (vector of named tuples) or column oriented (named tuple of vectors).
- [DataFrames.jl](https://github.com/JuliaData/DataFrames.jl): [cheatsheet](https://ahsmart.com/assets/pages/data-wrangling-with-data-frames-jl-cheat-sheet/DataFramesCheatSheet_v0.22_rev1.pdf) similar to `tidyverse`.
## 2. Model fitting:
- [MixedModels.jl](https://github.com/JuliaStats/MixedModels.jl): 100% julia package
## 3. Communications with other systems:
- [RCall.jl](https://github.com/JuliaInterop/RCall.jl): 100% julia package
- [PyCall.jl](https://github.com/JuliaPy/PyCall.jl): 100% julia package
## 4. Package system
- With Julia 1.7+, precompilation is done when the package is added
- Multiple biology-oriented packages in [BioJulia](https://github.com/BioJulia)
## 5. Tuning performance
- [Performance tips](https://docs.julialang.org/en/v1/manual/performance-tips/)
- [Profiling](https://docs.julialang.org/en/v1/manual/profile/)
## 6. Plotting
- [Makie ecosystem](https://makie.juliaplots.org/stable/)
- [Plots.jl](https://docs.juliaplots.org/latest/)
## 7. Literate programming
- [quarto.org](https://quarto.org/). These notes are rendered with quarto!
- [Jupyter](https://jupyter.org)
- [Pluto.jl](https://github.com/fonsp/Pluto.jl)
# Tutorial feedback form
Please don't forget to fill out the [ISMB/ECCB 2022 Tutorial Feedback](https://docs.google.com/forms/d/e/1FAIpQLSftVbI5O-P6EidL-PBgmqjdVE9QX3SfsgGKqkX6DDxJzGvrfQ/viewform).
<div style="text-align:center"><img src="docs/pics/julia-logo.png" width="350"/></div>