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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
\documentclass[aspectratio=169]{beamer}
\usepackage{microtype}
\usepackage{tikz}
\usetikzlibrary{fit}
\usepackage[style=verbose-ibid,url=false,natbib=true]{biblatex}
\addbibresource{references.bib}
\renewcommand*{\footnotesize}{\Tiny}
\setlength{\footnotesep}{3pt}
\definecolor{bngreen}{HTML}{3c8e64}
\definecolor{bnorange}{HTML}{e08919}
%\setbeamercolor*{structure}{bg=white,fg=bngreen}
\usecolortheme[named=bngreen]{structure}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{headline}{\hfill\includegraphics[width=.7cm]{logo-running}\hspace{0.1cm}\vspace{-.7cm}}
\author{Justin Bed\H{o}\\WEHI}
\title{\includegraphics[width=.7\linewidth]{logo}\\functional, reproducible bioinformatics workflows}
\date{November 10, 2020}
\begin{document}
{
\setbeamertemplate{headline}{}
\begin{frame}
\maketitle
\end{frame}
}
\begin{frame}
\frametitle{Core problems}
\begin{enumerate}
\item \emph{Managing software versions and dependencies}.
\begin{itemize}
\item Conda
\item BioConda~\autocite{Grning2018}
\item apt-get
\end{itemize}
\item \emph{Managing computational environments}.
\begin{itemize}
\item Docker
\item Singularity
\item \emph{virtual machines}
\end{itemize}
\item \emph{Managing workflows}.
\begin{itemize}
\item Toil~\autocite{toil}
\item SnakeMake~\autocite{Koster2012}
\item NextFlow~\autocite{di_tommaso_nextflow_2017}
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}
\begin{center}
\begin{tikzpicture}[->,>=stealth,shorten >=1pt,auto,node distance=2cm,thick]
\node (a) {align};
\node (s) [below of=a] {sort};
\node (c) [below of=s] {calling};
\path (a) edge node {} (s);
\path (s) edge node {} (c);
\pause
\node (input) [above of=a] {input};
\path (input) edge node {} (a);
\node (ref) [right of=a] {reference};
\path (ref) edge node {} (a);
\node (db) [right of=c] {dbNSFP};
\path (db) edge node {} (c);
\pause
\node (bwa) [left of=a] {BWA};
\path (bwa) edge node {} (a);
\node (samtools) [left of=s] {samtools};
\path (samtools) edge node {} (s);
\node (platypus) [left of=c] {platypus};
\path (platypus) edge node {} (c);
\pause
\node (glib) [left of=samtools] {glibc,$\cdots$};
\node (python) [left of=platypus] {python};
\path (glib) edge node {} (bwa);
\path (glib) edge node {} (samtools);
\path (python) edge node {} (platypus);
\path (glib) edge node {} (python);
\pause
\node[draw=bngreen, fit=(bwa) (samtools) (platypus) (glib) (python),label=containers](cont){};
\node[draw=bnorange, fit=(ref) (db),label=tarball](tar){};
\end{tikzpicture}
\end{center}
\end{frame}
\begin{frame}
\frametitle{BioNix contributions}
\begin{enumerate}
\item Builds on Nix, a robust functional package manager
\item Manages both software and workflows within the one system
\item Implicitly specifies its entire computational environment
\item Simple, purely functional domain-specific language, simplifying specifying workflows
to function composition
\item Typing to reduce errors~\autocite{Bed2019}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Demo}
\pause
\includegraphics[width=\linewidth]{graph}
\end{frame}
\end{document}
|