From 8ded1b651c5bbfac525aded43a7074aecc49f6fb Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Mon, 9 Nov 2020 20:37:07 +1100 Subject: edits --- nextflow-nix.pdf | Bin 0 -> 53333 bytes nextflow.pdf | Bin 0 -> 83204 bytes slides.tex | 32 ++++++++++++++++++++++++++------ 3 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 nextflow-nix.pdf create mode 100644 nextflow.pdf diff --git a/nextflow-nix.pdf b/nextflow-nix.pdf new file mode 100644 index 0000000..a5b62f6 Binary files /dev/null and b/nextflow-nix.pdf differ diff --git a/nextflow.pdf b/nextflow.pdf new file mode 100644 index 0000000..f8e7df6 Binary files /dev/null and b/nextflow.pdf differ diff --git a/slides.tex b/slides.tex index 125469d..1cde561 100644 --- a/slides.tex +++ b/slides.tex @@ -69,7 +69,7 @@ \pause - \node (input) [above of=a] {input}; + \node (input) [above of=a] {reads}; \path (input) edge node {} (a); \node (ref) [right of=a] {reference}; \path (ref) edge node {} (a); @@ -97,7 +97,8 @@ \pause \node[draw=bngreen, fit=(bwa) (samtools) (platypus) (glib) (python),label=containers](cont){}; - \node[draw=bnorange, fit=(ref) (db),label=tarball](tar){}; + \node[draw=bngreen, fit=(ref) (db),label=tarball](tar){}; + \node[draw=bnorange, fit=(a) (s) (c),label=below:workflow manager](workflow){}; \end{tikzpicture} \end{center} \end{frame} @@ -122,7 +123,7 @@ \frametitle{BioNix contributions} \begin{enumerate} \item Builds on Nix, a robust functional package manager - \item Manages both software, data, and workflows within the one system + \item Manages software, data, and workflows within the one system \item Implicitly specifies its entire computational environment \item Purely functional domain-specific language, simplifying specifying workflows to function composition @@ -133,7 +134,7 @@ \begin{frame} \frametitle{What is Nix?} \begin{enumerate} - \item Simple configuration language (like JSON + functions) + \item Simple configuration language (like JSON + functions + modules) \item Build engine that \emph{realises} \emph{derivations} \begin{itemize} \item resumption @@ -154,7 +155,7 @@ \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 (\Verb|config → inputs → drv|) \item Library of bioinformatics tools (BWA, samtools, etc) organised into a tree, e.g., \begin{itemize} - \item \Verb|bionix.bwa.align| + \item \Verb|bionix.bwa.align|, \Verb|bionix.minimap2.align| \item \Verb|bionix.samtools.sort| \end{itemize} \item Functions for HPC execution @@ -198,17 +199,36 @@ \end{minipage} \end{frame} +\begin{frame} + \frametitle{WDL example translation} + \begin{minipage}{.5\textwidth} + \includegraphics[height=.85\textheight]{nextflow-nix} + \end{minipage} + \begin{minipage}{.4\textwidth} + \includegraphics[height=.85\textheight]{nextflow} + \end{minipage} +\end{frame} + \begin{frame} \frametitle{Real-world usage at WEHI} \begin{enumerate} \item Stafford Fox Rare Cancer Project \item $\geq100$ WGS/WES samples totalling 20 TiB of primary data - \item SNV calling, neoantigen prediction, structural variants, copy number, mutational signatures, and report generation + \item SNV calling, neoantigen prediction, structural variants, copy number, mutational signatures, and report generation with embedded revision hash \item CI ensures reports are always up to date and consistent across the cohort \item Processed at Pawsey (Slurm) and WEHI (PBS \& Slurm) \end{enumerate} \end{frame} +\begin{frame} + \frametitle{Conclusions} + \begin{enumerate} + \item BioNix provides a high degree of reproducibility + \item Obviates the need for multiple technologies (i.e., package managers and containers) + \item Workflows as function composition, simplifying specification + \end{enumerate} +\end{frame} + \begin{frame} \frametitle{Acknowledgements} \begin{minipage}{0.28\linewidth} -- cgit v1.2.3