#+title: Improving support and distribution of validated analysis tools
#+author: Brad Chapman \newline Bioinformatics Core, Harvard Chan School \newline https://bcb.io \newline http://j.mp/bcbiolinks
#+date: 9 November 2015

#+OPTIONS: toc:nil H:2

#+startup: beamer
#+LaTeX_CLASS: beamer
#+latex_header: \usepackage{url}
#+latex_header: \usepackage{hyperref}
#+latex_header: \hypersetup{colorlinks=true}
#+BEAMER_THEME: default
#+BEAMER_COLOR_THEME: seahorse
#+BEAMER_INNER_THEME: rectangles

* Motivation

** We need to do science faster

#+BEGIN_CENTER
#+ATTR_LATEX: :width .9\textwidth
[[./images7/rare_disease.png]]
#+END_CENTER

\scriptsize
https://twitter.com/KMS_Meltzy/status/661206070308794368
\normalsize

** We need to incorporate improvements faster


#+BEGIN_CENTER
#+ATTR_LATEX: :width .9\textwidth
[[./images7/build38_release.png]]
#+END_CENTER

#+BEGIN_CENTER
#+ATTR_LATEX: :width .8\textwidth
[[./images7/build38_reddit.png]]
#+END_CENTER

\tiny
https://www.reddit.com/r/genome/comments/3b3s3t/switch_from_hg19build37_to_hg20build38/

** Daily bioinformatics work

\Large
- Install tools
- Put tools together
- Test and validate
- Improve algorithms
- Scale
- Read literature
- Do biology
\normalsize

** Standard analyses not routine

\Large
#+BEGIN_QUOTE
Four major genome centers predicted single-nucleotide variants (SNVs) for The
Cancer Genome Atlas (TCGA) lung cancer samples, but only 31.0% (1,667/5,380) of
SNVs were identified by all four.
#+END_QUOTE

\scriptsize
http://www.nature.com/nmeth/journal/vaop/ncurrent/full/nmeth.3407.html
\normalsize

** Combining analyses

#+BEGIN_CENTER
#+ATTR_LATEX: :width .6\textwidth
[[./images7/cancer_multiple.png]]
#+END_CENTER

\scriptsize
http://www.cell.com/cell-systems/abstract/S2405-4712%2815%2900113-1

** Working together produces great things

#+BEGIN_CENTER
#+ATTR_LATEX: :width 1.0\textwidth
[[./images7/exac.png]]
#+END_CENTER

http://exac.broadinstitute.org/about

** Solution

#+BEGIN_CENTER
#+ATTR_LATEX: :width .5\textwidth
[[./images/community.png]]
#+END_CENTER

\scriptsize
[[http://www.amazon.com/Community-Structure-Belonging-Peter-Block/dp/1605092770]]
\normalsize

* Open source bioinformatics

** Large scale infrastructure development

\Large
- Shared problems -- academic, industry, startups
- Community developed analyses
- Validation
- Scaling
- Supporting a community of users
\normalsize

** White box software

[[./images5/clear_box.jpg]]

** Overview

#+ATTR_LATEX: :width 1.0\textwidth
[[./images3/bcbio_nextgen_highlevel.png]]

\vspace{1cm}
https://github.com/chapmanb/bcbio-nextgen

** Uses

\Large
- Aligners: bwa, novoalign, bowtie2, HISAT2
- Variantion: FreeBayes, GATK, VarDict, MuTecT, Scalpel, SnpEff, VEP, GEMINI,
  Lumpy, Manta, CNVkit, WHAM
- RNA-seq: Tophat, STAR, Cufflinks, Sailfish
- Quality control: fastqc, bamtools, RNA-SeQC
- Manipulation: bedtools, bcftools, biobambam, sambamba, samblaster, samtools,
  vcflib, vt
\normalsize

** Provides

\Large
- Community -- collected set of expertise
- Tool integration
- Validation -- outputs + automated evaluation
- Scaling
- Installation of tools and data
\normalsize

** We made a pipeline -- so what?

\tiny
#+BEGIN_QUOTE
There have been a number of previous efforts to create publicly available
analysis pipelines for high throughput sequencing data. Examples include
Omics-Pipe, bcbio-nextgen, TREVA and NGSane. These pipelines
offer a comprehensive, automated process that can analyse raw sequencing reads
and produce annotated variant calls. However, the main audience for these
pipelines is the research community. Consequently, there are many features
required by clinical pipelines that these examples do not fully address. Other
groups have focused on improving specific features of clinical pipelines. The
Churchill pipeline uses specialised techniques to achieve high performance,
while maintaining reproducibility and accuracy. However it is not freely
available to clinical centres and it does not try to improve broader clinical
aspects such as detailed quality assurance reports, robustness, reports and
specialised variant filtering. The Mercury pipeline offers a comprehensive
system that addresses many clinical needs: it uses an automated workflow system
(Valence) to ensure robustness, abstract computational resources and
simplify customisation of the pipeline. Mercury also includes detailed coverage
reports provided by ExCID, and supports compliance with US privacy laws
(HIPAA) when run on DNANexus, a cloud computing platform specialised for
biomedical users. Mercury offers a comprehensive solution for clinical users,
however it does not achieve our desired level of transparency, modularity and
simplicity in the pipeline specification and design. Further, Mercury does not
perform specialised variant filtering and prioritisation that is specifically
tuned to the needs of clinical users.
#+END_QUOTE

\scriptsize
http://www.genomemedicine.com/content/7/1/68

** Sustainability

\Large
A piece of software is being sustained if people are using it, fixing it, and
improving it rather than replacing it.

\vspace{0.5cm}

\normalsize
http://software-carpentry.org/blog/2014/08/sustainability.html

** Community: sustainability

#+ATTR_LATEX: :width 1.1\textwidth
[[./images7/bcbio_commits.png]]

\vspace{1cm}

[[https://github.com/chapmanb/bcbio-nextgen]]

** Community: support

#+ATTR_LATEX: :width 1.1\textwidth
[[./images7/bcbio_issues.png]]

\vspace{1cm}

[[https://bcbio-nextgen.readthedocs.org]]

* Better community integration

** Parts of bcbio

*** \LARGE What components are essential?

\Large
- Installation
- Infrastructure -- runs on your cluster
- Tool integration
- Validation -- stability
- Rapid development -- new improvements

** Installation

#+ATTR_LATEX: :width 0.65\textwidth
[[./images2/install_want.png]]

*** Automated Install                                                 :block:
    :PROPERTIES:
    :BEAMER_env: exampleblock
    :END:

We made it easy to install a large number of biological tools. \\
Good or bad idea?

** bcbio + Docker + AWS

\Large
- bcbio tools + code in Docker containers
- Bootstrap from plain AMIs to cluster
- Pull/push data from S3
- Lustre and encrypted NFS filesystems

\vspace{0.5cm}
\small
http://bcb.io/2014/12/19/awsbench/ \\
https://github.com/chapmanb/bcbio-nextgen-vm

** Common Workflow Language

\Large
- Standard way to describe workflows
- Explicit markup of input/output files
- Automatically generated by bcbio
- Run on multiple infrastructures
- Community

\scriptsize
https://github.com/chapmanb/bcbio-nextgen/tree/master/cwl

** Infrastructure

[[./images7/arvados_overview.png]]

https://arvados.org/

** Infrastructure

#+BEGIN_CENTER
#+ATTR_LATEX: :width .7\textwidth
[[./images7/galaxy_cwl.png]]
#+END_CENTER

https://github.com/galaxyproject/planemo

** Vision: pluggable components

\Large
- Installation: Docker containers with tools + code
- Infrastructure: CWL description + platforms
- Mix and match implementations: BioBoxes
- Research and development + production in same environment

* Real biology

** Biology: Human build 38 validation

#+BEGIN_CENTER
#+ATTR_LATEX: :width .65\textwidth
[[./images7/hg38_val.png]]
#+END_CENTER

\footnotesize
http://bcb.io/2015/09/17/hg38-validation/

** Biology: cancer validation

#+BEGIN_CENTER
#+ATTR_LATEX: :width .8\textwidth
[[./images7/vardict_val.png]]
#+END_CENTER


\scriptsize
https://github.com/bcbio/bcbio.github.io/blob/master/_posts/2015-10-05-vardict-filtering.md

** Biology: structural variant calling

#+BEGIN_CENTER
#+ATTR_LATEX: :width .8\textwidth
[[./images7/sv_val.png]]
#+END_CENTER

\footnotesize
http://imgur.com/a/Gajsg

** Summary

\Large
- Do more science faster
- Community -- integrate, not re-implement
- Docker + Common Workflow Language + BioBoxes
- Let's talk about ways to work together

\vspace{1cm}
http://bcb.io/
