aboutsummaryrefslogtreecommitdiff
path: root/slides.tex
diff options
context:
space:
mode:
Diffstat (limited to 'slides.tex')
-rw-r--r--slides.tex24
1 files changed, 19 insertions, 5 deletions
diff --git a/slides.tex b/slides.tex
index ec14f08..fc09a6d 100644
--- a/slides.tex
+++ b/slides.tex
@@ -113,13 +113,15 @@
\end{minipage}
\end{frame}
+\againframe<4>{dag}
+
\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 Manages both software, data, and workflows within the one system
\item Implicitly specifies its entire computational environment
- \item Simple, purely functional domain-specific language, simplifying specifying workflows
+ \item Purely functional domain-specific language, simplifying specifying workflows
to function composition
\item Typing to reduce errors~\autocite{Bed2019}
\end{enumerate}
@@ -130,10 +132,24 @@
\begin{enumerate}
\item Simple configuration language (like JSON + functions)
\item Build engine that \emph{realises} \emph{derivations}
+ \begin{itemize}
+ \item resumption
+ \item error handling
+ \item logging
+ \item parallelisation
+ \end{itemize}
\item Derivations are complete descriptions for producing build products: all inputs and a build recipe
\item Controlled \emph{side effects}\footnote{stuff not captured by the derivation}: none allowed during a build
\item Output location unique and determined by hashing the derivation: i.e., hash based version management
- \item Deterministic $\Rightarrow$ reproducible
+ \end{enumerate}
+\end{frame}
+
+\begin{frame}
+ \frametitle{What is BioNix?}
+ \begin{enumerate}
+ \item Thin wrapper on Nix
+ \item Models \emph{stages}\footnote{the execution of one or more executables on one or more input files, producing one or more output files.} as functions (\texttt{config → inputs → drv})
+ \item Library of bioinformatics tools (BWA, samtools, etc)
\end{enumerate}
\end{frame}
@@ -151,8 +167,6 @@
\end{minipage}
\end{frame}
-\againframe<4>{dag}
-
\begin{frame}
\frametitle{Demo}
\pause