\documentclass[ignorenonframetext]{beamer} \usepackage{fontspec} \setmainfont{FreeSerif} \setsansfont{FreeSans} \setmonofont{FreeMono} \usepackage{url} \usepackage{fancyhdr} \usepackage{graphicx} \usepackage[bf]{caption} \usepackage{rotating} \usepackage{wrapfig} \usepackage{fancybox} \usepackage{booktabs} % \usepackage{multirow} \usepackage{acronym} \usepackage{qrcode} \usepackage[backend=biber,natbib=true,hyperref=true,style=nature]{biblatex} \addbibresource{references.bib} % \usepackage[nomargin,inline,draft]{fixme} % \newcommand{\DLA}[1]{\textcolor{red}{\fxnote{DLA: #1}}} % \usepackage[hyperfigures,bookmarks,colorlinks,citecolor=black,filecolor=black,linkcolor=black,urlcolor=black]{hyperref} \usepackage{texshade} \usepackage{tikz} \usepackage{nameref} \usepackage{zref-xr,zref-user} \renewcommand*{\bibfont}{\tiny} % The textpos package is necessary to position textblocks at arbitary % places on the page. Use showboxes option to show outlines of textboxes. % \usepackage[absolute]{textpos} \usepackage[absolute,showboxes]{textpos} \usepackage{multirow} \usepackage{array} \mode{ \usetheme{CambridgeUS} % http://identitystandards.illinois.edu/graphicstandardsmanual/generalguidelines/colors.html \definecolor{ilboldblue}{HTML}{002058} \definecolor{ilboldorange}{HTML}{E87722} \definecolor{ilblue}{HTML}{606EB2} \definecolor{ilorange}{HTML}{D45D00} \setbeamercolor{alerted text}{fg=ilboldorange} \setbeamercolor*{palette primary}{fg=ilblue,bg=ilorange} \setbeamercolor*{palette secondary}{fg=ilblue!20!white,bg=ilorange} \setbeamercolor*{palette tertiary}{bg=ilblue,fg=ilorange} \setbeamercolor*{palette quaternary}{fg=ilblue,bg=ilorange} \setbeamercolor*{sidebar}{fg=ilorange,bg=ilboldblue} \setbeamercolor*{palette sidebar primary}{fg=ilblue!10!white,bg=ilorange} \setbeamercolor*{palette sidebar secondary}{fg=ilorange} \setbeamercolor*{palette sidebar tertiary}{fg=ilblue} \setbeamercolor*{palette sidebar quaternary}{fg=ilorange} % \setbeamercolor*{titlelike}{parent=palette primary} \setbeamercolor{titlelike}{parent=palette primary,fg=ilboldblue,bg=ilorange} \setbeamercolor{frametitle}{fg=ilboldorange,bg=ilblue!80!white} \setbeamercolor{frametitle right}{fg=ilboldblue,bg=ilorange} \setbeamercolor*{separation line}{} \setbeamercolor*{fine separation line}{} \setbeamercovered{transparent} \logo{\begin{tikzpicture}% Pale figure {\node[opacity=0.5]{\IfFileExists{figures/igb_wordmark.pdf}{\includegraphics[width=2cm,height=0.5cm,keepaspectratio]{figures/igb_wordmark}}{}% };}% \end{tikzpicture}} } \title[H3ABionet Hackathon]{H3ABionet Hackathon in Pretoria, South Africa} \author{Don L. Armstrong} \institute[IGB]{Institute for Genomic Biology, University of Illinois, Urbana-Champaign} \begin{document} \frame[plain]{\titlepage} \section{Location} \begin{frame}{Pretoria} \includegraphics[width=\textwidth,keepaspectratio]{photos/pano.jpg} \end{frame} \begin{frame}{Bioinformatics Training Lab} \includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]{photos/IMG_0199.jpg} \end{frame} \section{Tracks} \begin{frame}{People} \includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]{photos/IMG_0165.jpg} \end{frame} \begin{frame}{Tracks} \begin{itemize} \item Stream A: Illumina array (QC,calling, SNP QC) \item Stream B: WGS/Exosome data (processing, QC, variant calling) \item Stream C: 16S rRNA analyses, data QC, chimera detection, OTU picking \item Stream D: Imputation and phasing \end{itemize} \end{frame} \section{Results} \begin{frame}{Results} \begin{itemize} \item CWL and Nextflow based workflows for each of the streams \item Docker containers which contain all of the software required to implement the workflows \item scripts using nova and cloud init to bring up cloud resources \end{itemize} \end{frame} \section{Technology} \begin{frame}{Nextflow} \begin{itemize} \item Groovy-based \item Can call docker to run programs \item Channel infrastructure to connect different components of the workflow \item Language is a bit clunky and has lots of boilerplate \end{itemize} \end{frame} \begin{frame}{Open Stack} \begin{itemize} \item Open source cloud infrastructure \item Implementation at NCSA \item Provision using cloud-init and nova from the command line \item cloud-init is present in most Debian and Ubuntu cloud images \end{itemize} \end{frame} \begin{frame}{Docker} \begin{itemize} \item Containers to isolate what is running from the host operating system \item docker images which contain the actual code to run \item Docker file which describes how to build the images \end{itemize} \end{frame} \begin{frame}[fragile]{Docker file} \footnotesize \begin{verbatim} FROM ubuntu:latest MAINTAINER Don Armstrong # Install wget RUN apt-get update && apt-get install -y wget && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* RUN wget \ http://mathgen.stats.ox.ac.uk/impute/impute_v2.3.2_x86_64_static.tgz && \ tar -zxvf impute_v2.3.2_x86_64_static.tgz && \ mv impute_v2.3.2_x86_64_static/impute2 /usr/bin/impute2 && \ mkdir /opt/impute2/example -p && \ mv impute_v2.3.2_x86_64_static/Example/* \ /opt/impute2/example && \ rm -rf impute_v2.3.2_x86_64_static \ impute_v2.3.2_x86_64_static.tgz \end{verbatim} \end{frame} \end{document}