From a5b9e03485fa539846a8288137332ae124760064 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Thu, 5 Nov 2020 15:01:10 +1100 Subject: add slide on bionix --- slides.tex | 24 +++++++++++++++++++----- 1 file 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 -- cgit v1.2.3