Skip to content
This repository was archived by the owner on Sep 16, 2021. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 0 additions & 36 deletions .travis.yml

This file was deleted.

24 changes: 9 additions & 15 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
# nf-core/deepvariant: Changelog

## v1.0 - 2018-11-19
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

This release marks the point where the pipeline was moved from lifebit-ai/DeepVariant over to the new nf-core community, at nf-core/DeepVariant. The [nf-core](http://nf-co.re/) template was used to help ensure that the pipeline meets the standards of nf-core.
## v1.0dev - [date]

In summary, the main changes are:
Initial release of nf-core/deepvariant, created with the [nf-core](https://nf-co.re/) template.

- Rebranding and renaming throughout the pipeline to nf-core
- Updating many parts of the pipeline config and style to meet nf-core standards
- Continuous integration tests with Travis CI
- Dependencies installed via conda
- Added support for BAM input as file, not just a folder
- Added channels to process input files
- Added separate processes for each of the steps in FASTA file preprocessing
- Use of genomes config to specify relevant reference genome files similar to igenomes
- Added BAM size dependent setting of memory
- Slightly improved documentation
### `Added`

...and many more minor tweaks.
### `Fixed`

Thanks to everyone who has worked on this release!
### `Dependencies`

### `Deprecated`
8 changes: 4 additions & 4 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ This Code of Conduct applies both within project spaces and in public spaces whe

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team on the [Gitter channel](https://gitter.im/nf-core/Lobby). The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team on [Slack](https://nf-co.re/join/slack). The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct/][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
[homepage]: https://contributor-covenant.org
[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct/
20 changes: 15 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
FROM nfcore/base
LABEL authors="phil@lifebit.ai" \
description="Docker image containing all requirements for nf-core/deepvariant pipeline"
FROM nfcore/base:dev
LABEL authors="Abhinav Sharma" \
description="Docker image containing all software requirements for the nf-core/deepvariant pipeline"

# Install the conda environment
COPY environment.yml /
RUN conda env create -f /environment.yml && conda clean -a
ENV PATH /opt/conda/envs/nf-core-deepvariant-1.0/bin:$PATH
RUN conda env create --quiet -f /environment.yml && conda clean -a

# Add conda installation dir to PATH (instead of doing 'conda activate')
ENV PATH /opt/conda/envs/nf-core-deepvariant-1.0dev/bin:$PATH

# Dump the details of the installed packages to a file for posterity
RUN conda env export --name nf-core-deepvariant-1.0dev > nf-core-deepvariant-1.0dev.yml

# Instruct R processes to use these empty files instead of clashing with a local version
RUN touch .Rprofile
RUN touch .Renviron
2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
MIT License

Copyright (c) Abhinav Sharma

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
Expand Down
100 changes: 46 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,84 +1,76 @@
![deepvariant](https://raw.githubusercontent.com/nf-core/deepvariant/master/docs/images/deepvariant_logo.png)
# ![nf-core/deepvariant](docs/images/nf-core-deepvariant_logo.png)

# nf-core/deepvariant
**Google's DeepVariant as a Nextflow workflow.**.

**Deep Variant as a Nextflow pipeline**
[![GitHub Actions CI Status](https://github.com/nf-core/deepvariant/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/deepvariant/actions)
[![GitHub Actions Linting Status](https://github.com/nf-core/deepvariant/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/deepvariant/actions)
[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A520.04.0-brightgreen.svg)](https://www.nextflow.io/)

[![Build Status](https://travis-ci.org/nf-core/deepvariant.svg?branch=master)](https://travis-ci.org/nf-core/deepvariant)
[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A518.10.1-brightgreen.svg)](https://www.nextflow.io/)
[![Gitter](https://img.shields.io/badge/gitter-%20join%20chat%20%E2%86%92-4fb99a.svg)](https://gitter.im/nf-core/Lobby)

[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](http://bioconda.github.io/)
[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](https://bioconda.github.io/)
[![Docker](https://img.shields.io/docker/automated/nfcore/deepvariant.svg)](https://hub.docker.com/r/nfcore/deepvariant)
![Singularity Container available](https://img.shields.io/badge/singularity-available-7E4C74.svg)
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23deepvariant-4A154B?logo=slack)](https://nfcore.slack.com/channels/deepvariant)

A Nextflow pipeline for running the [Google DeepVariant variant caller](https://github.com/google/deepvariant).
## Introduction

## What is DeepVariant and why in Nextflow?
This pipeline simplifies the use of [Google's DeepVariant](https://github.com/google/deepvariant) and packages it as a workflow.

The Google Brain Team in December 2017 released a [Variant Caller](https://www.ebi.ac.uk/training/online/course/human-genetic-variation-i-introduction/variant-identification-and-analysis/what-variant) based on DeepLearning: DeepVariant.
The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible.

In practice, DeepVariant first builds images based on the BAM file, then it uses a DeepLearning image recognition approach to obtain the variants and eventually it converts the output of the prediction in the standard VCF format.
## Quick Start

DeepVariant as a Nextflow pipeline provides several advantages to the users. It handles automatically, through **preprocessing steps**, the creation of some extra needed indexed and compressed files which are a necessary input for DeepVariant, and which should normally manually be produced by the users.
Variant Calling can be performed at the same time on **multiple BAM files** and thanks to the internal parallelization of Nextflow no resources are wasted.
Nextflow's support of Docker allows to produce the results in a computational reproducible and clean way by running every step inside of a **Docker container**.
1. Install [`nextflow`](https://nf-co.re/usage/installation)

For more detailed information about Google's DeepVariant please refer to [google/deepvariant](https://github.com/google/deepvariant) or this [blog post](https://research.googleblog.com/2017/12/deepvariant-highly-accurate-genomes.html). <br />
For more information about DeepVariant in Nextflow please refer to this [blog post](https://blog.lifebit.ai/post/deepvariant/?utm_campaign=documentation&utm_source=github&utm_medium=web)
2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) or [`Podman`](https://podman.io/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_

## Quick Start
3. Download the pipeline and test it on a minimal dataset with a single command:

**Warning DeepVariant can be very computationally intensive to run.**
```bash
nextflow run nf-core/deepvariant -profile test,<docker/singularity/podman/conda/institute>
```

To **test** the pipeline you can run:
> Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile <institute>` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment.

```bash
nextflow run nf-core/deepvariant -profile test,docker
```
4. Start running your own analysis!

A typical run on **whole genome data** looks like this:
<!-- TODO nf-core: Update the example "typical command" below used to run the pipeline -->

```bash
nextflow run nf-core/deepvariant --genome hg19 --bam yourBamFile --bed yourBedFile -profile standard,docker
```
```bash
nextflow run nf-core/deepvariant -profile <docker/singularity/podman/conda/institute> --input samplesheet.csv --genome GRCh37
```

In this case variants are called on the bam files contained in the testdata directory. The hg19 version of the reference genome is used.
One vcf files is produced and can be found in the folder "results"
See [usage docs](https://nf-co.re/deepvariant/usage) for all of the available options when running the pipeline.

A typical run on **whole exome data** looks like this:
## Documentation

```bash
nextflow run nf-core/deepvariant --exome --genome hg19 --bam_folder myBamFolder --bed myBedFile -profile standard,docker
```
The nf-core/deepvariant pipeline comes with documentation about the pipeline: [usage](https://nf-co.re/deepvariant/usage) and [output](https://nf-co.re/deepvariant/output).

## Documentation
<!-- TODO nf-core: Add a brief overview of what the pipeline does and how it works -->

The nf-core/deepvariant documentation is split into the following files:
## Credits

1. [Installation](docs/installation.md)
2. [Running the pipeline](docs/usage.md)
3. Pipeline configuration
- [Adding your own system](docs/configuration/adding_your_own.md)
- [Reference genomes](docs/configuration/reference_genomes.md)
4. [Output and how to interpret the results](docs/output.md)
5. [Troubleshooting](docs/troubleshooting.md)
6. [More about DeepVariant](docs/about.md)
This workflow was originally developed at [Lifebit](https://lifebit.ai/?utm_campaign=documentation&utm_source=github&utm_medium=web), by @luisas, to ease and reduce cost for variant calling analyses

## More about the pipeline
<!-- TODO: Update this to include people who contribute. -->
The `v2.0` of `nf-core/deepvariant` workflow was modernized by Abhinav Sharma ( @abhi18av ), Alain Coletta ( @alaincoletta).

As shown in the following picture, the worklow both contains **preprocessing steps** ( light blue ones ) and proper **variant calling steps** ( darker blue ones ).
Many thanks to nf-core and those who have helped out along the way too, including (but not limited to): @ewels, @MaxUlysse, @apeltzer, @sven1103 & @pditommaso

Some input files ar optional and if not given, they will be automatically created for the user during the preprocessing steps. If these are given, the preprocessing steps are skipped. For more information about preprocessing, please refer to the "INPUT PARAMETERS" section.
## Contributions and Support

The worklow **accepts one reference genome and multiple BAM files as input**. The variant calling for the several input BAM files will be processed completely indipendently and will produce indipendent VCF result files. The advantage of this approach is that the variant calling of the different BAM files can be parallelized internally by Nextflow and take advantage of all the cores of the machine in order to get the results at the fastest.
If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).

<p align="center">
<img src="https://github.com/nf-core/deepvariant/blob/master/pics/pic_workflow.jpg">
</p>
For further information or help, don't hesitate to get in touch on the [Slack `#deepvariant` channel](https://nfcore.slack.com/channels/deepvariant) (you can join with [this invite](https://nf-co.re/join/slack)).

## Credits
## Citation

This pipeline was originally developed at [Lifebit](https://lifebit.ai/?utm_campaign=documentation&utm_source=github&utm_medium=web), by @luisas, to ease and reduce cost for variant calling analyses
<!-- TODO nf-core: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi. -->
<!-- If you use nf-core/deepvariant for your analysis, please cite it using the following doi: [10.5281/zenodo.XXXXXX](https://doi.org/10.5281/zenodo.XXXXXX) -->

Many thanks to nf-core and those who have helped out along the way too, including (but not limited to): @ewels, @MaxUlysse, @apeltzer, @sven1103 & @pditommaso
You can cite the `nf-core` publication as follows:

> **The nf-core framework for community-curated bioinformatics pipelines.**
>
> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
>
> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).
> ReadCube: [Full Access Link](https://rdcu.be/b1GjZ)
18 changes: 0 additions & 18 deletions Singularity

This file was deleted.

4 changes: 3 additions & 1 deletion assets/email_template.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

<meta name="description" content="nf-core/deepvariant: Google's DeepVariant variant caller as a Nextflow pipeline">
<meta name="description" content="nf-core/deepvariant: Google's DeepVariant as a Nextflow workflow.">
<title>nf-core/deepvariant Pipeline Report</title>
</head>
<body>
<div style="font-family: Helvetica, Arial, sans-serif; padding: 30px; max-width: 800px; margin: 0 auto;">

<img src="cid:nfcorepipelinelogo">

<h1>nf-core/deepvariant v${version}</h1>
<h2>Run Name: $runName</h2>

Expand Down
29 changes: 9 additions & 20 deletions assets/email_template.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
========================================
nf-core/deepvariant v${version}
========================================
----------------------------------------------------
,--./,-.
___ __ __ __ ___ /,-._.--~\\
|\\ | |__ __ / ` / \\ |__) |__ } {
| \\| | \\__, \\__/ | \\ |___ \\`-._,-`-,
`._,._,'
nf-core/deepvariant v${version}
----------------------------------------------------

Run Name: $runName

<% if (success){
Expand All @@ -17,23 +23,6 @@ ${errorReport}
} %>


<% if (!success){
out << """####################################################
## nf-core/deepvariant execution completed unsuccessfully! ##
####################################################
The exit status of the task that caused the workflow execution to fail was: $exitStatus.
The full error message was:

${errorReport}
"""
} else {
out << "## nf-core/deepvariant execution completed successfully! ##"
}
%>




The workflow was completed at $dateComplete (duration: $duration)

The command used to launch the workflow was as follows:
Expand Down
6 changes: 5 additions & 1 deletion conf/multiqc_config.yaml → assets/multiqc_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,9 @@ report_comment: >
analysis pipeline. For information about how to interpret these results, please see the
<a href="https://github.com/nf-core/deepvariant" target="_blank">documentation</a>.
report_section_order:
nf-core/deepvariant-software-versions:
software_versions:
order: -1000
nf-core-deepvariant-summary:
order: -1001

export_plots: true
Binary file added assets/nf-core-deepvariant_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions assets/samplesheet.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
group,replicate,fastq_1,fastq_2
control,1,/path/to/fastq/files/AEG588A1_S1_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A1_S1_L002_R2_001.fastq.gz
control,2,/path/to/fastq/files/AEG588A2_S2_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A2_S2_L002_R2_001.fastq.gz
control,3,/path/to/fastq/files/AEG588A3_S3_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A3_S3_L002_R2_001.fastq.gz
treatment,1,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz,
treatment,2,/path/to/fastq/files/AEG588A5_S5_L003_R1_001.fastq.gz,
treatment,3,/path/to/fastq/files/AEG588A6_S6_L003_R1_001.fastq.gz,
treatment,3,/path/to/fastq/files/AEG588A6_S6_L004_R1_001.fastq.gz,
Loading