Skip to content

Commit

Permalink
Merge pull request nf-core#113 from drpatelh/master
Browse files Browse the repository at this point in the history
Update docs, CI, README and environment
  • Loading branch information
drpatelh authored Jun 30, 2020
2 parents 9245dbf + 9f1a5fe commit 36a427d
Show file tree
Hide file tree
Showing 27 changed files with 476 additions and 393 deletions.
14 changes: 9 additions & 5 deletions .github/markdownlint.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Markdownlint configuration file
default: true,
line-length: false
no-duplicate-header:
siblings_only: true
# Markdownlint configuration file
default: true,
line-length: false
no-duplicate-header:
siblings_only: true
MD033:
allowed_elements: [details, summary, p, img]
MD007:
indent: 4
105 changes: 90 additions & 15 deletions .github/workflows/ci.yml
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,50 +1,125 @@
name: nf-core CI
# This workflow is triggered on pushes and PRs to the repository.
# This workflow is triggered on releases and pull-requests.
# It runs the pipeline with the minimal test dataset to check that it completes without any syntax errors
on: [push, pull_request]
on:
push:
branches:
- dev
pull_request:
release:
types: [published]

jobs:
test:
name: Run workflow tests
# Only run on push if this is the nf-core dev branch (merged PRs)
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/atacseq') }}
runs-on: ubuntu-latest
env:
NXF_VER: ${{ matrix.nxf_ver }}
NXF_ANSI_LOG: false
runs-on: ubuntu-latest
strategy:
matrix:
# Nextflow versions: check pipeline minimum and current latest
nxf_ver: ['19.10.0', '']
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Check if Dockerfile or Conda environment changed
uses: technote-space/get-diff-action@v1
with:
PREFIX_FILTER: |
Dockerfile
environment.yml
- name: Build new docker image
if: env.GIT_DIFF
run: docker build --no-cache . -t nfcore/atacseq:dev

- name: Pull docker image
if: ${{ !env.GIT_DIFF }}
run: |
docker pull nfcore/atacseq:dev
docker tag nfcore/atacseq:dev nfcore/atacseq:dev
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with test data
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test,docker
parameters:
name: Test workflow parameters
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/atacseq') }}
runs-on: ubuntu-latest
env:
NXF_VER: '19.10.0'
NXF_ANSI_LOG: false
runs-on: ubuntu-latest
strategy:
matrix:
parameters: [--single_end, --skip_trimming, --skip_merge_replicates, --skip_consensus_peaks]
steps:
- uses: actions/checkout@v2
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Check if Dockerfile or Conda environment changed
uses: technote-space/get-diff-action@v1
with:
PREFIX_FILTER: |
Dockerfile
environment.yml
- name: Build new docker image
if: env.GIT_DIFF
run: docker build --no-cache . -t nfcore/atacseq:dev

- name: Pull docker image
if: ${{ !env.GIT_DIFF }}
run: |
docker pull nfcore/atacseq:dev
docker tag nfcore/atacseq:dev nfcore/atacseq:dev
- name: Run pipeline with various options
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with various parameters
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test,docker ${{ matrix.parameters }}
push_dockerhub:
name: Push new Docker image to Docker Hub
runs-on: ubuntu-latest
# Only run if the tests passed
needs: test
# Only run for the nf-core repo, for releases and merged PRs
if: ${{ github.repository == 'nf-core/atacseq' && (github.event_name == 'release' || github.event_name == 'push') }}
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }}
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Build new docker image
run: docker build --no-cache . -t nfcore/atacseq:latest

- name: Push Docker image to DockerHub (dev)
if: ${{ github.event_name == 'push' }}
run: |
echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
docker tag nfcore/atacseq:latest nfcore/atacseq:dev
docker push nfcore/atacseq:dev
- name: Push Docker image to DockerHub (release)
if: ${{ github.event_name == 'release' }}
run: |
echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
docker push nfcore/atacseq:latest
docker tag nfcore/atacseq:latest nfcore/atacseq:${{ github.event.release.tag_name }}
docker push nfcore/atacseq:${{ github.event.release.tag_name }}
13 changes: 12 additions & 1 deletion .github/workflows/linting.yml
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,29 @@ jobs:
nf-core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- uses: actions/setup-python@v1
with:
python-version: '3.6'
architecture: 'x64'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install nf-core
- name: Run nf-core lint
env:
GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_COMMIT: ${{ github.event.pull_request.head.sha }}
run: nf-core lint ${GITHUB_WORKSPACE}

36 changes: 18 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,22 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
* Replace `set` with `tuple` and `file()` with `path()` in all processes
* Capitalise process names
* Parameters:
* `--skip_peak_qc` to skip MACS2 peak QC plot generation
* `--skip_peak_annotation` to skip annotation of MACS2 and consensus peaks with HOMER
* `--skip_consensus_peaks` to skip consensus peak generation
* `--deseq2_vst` to use variance stabilizing transformation (VST) instead of regularized log transformation (rlog) with DESeq2
* `--publish_dir_mode` to customise method of publishing results to output directory [nf-core/tools#585](https://github.com/nf-core/tools/issues/585)
* `--skip_peak_qc` to skip MACS2 peak QC plot generation
* `--skip_peak_annotation` to skip annotation of MACS2 and consensus peaks with HOMER
* `--skip_consensus_peaks` to skip consensus peak generation
* `--deseq2_vst` to use variance stabilizing transformation (VST) instead of regularized log transformation (rlog) with DESeq2
* `--publish_dir_mode` to customise method of publishing results to output directory [nf-core/tools#585](https://github.com/nf-core/tools/issues/585)

### `Fixed`

* [#73](https://github.com/nf-core/atacseq/issues/73) - macs_annotatePeaks.mLb.clN.summary.txt file is not created
* [#86](https://github.com/nf-core/atacseq/issues/86) - bug in the plot_homer_annotatepeaks.r script
* [#102](https://github.com/nf-core/atacseq/issues/102) - Incorrect Group ID assigned by featurecounts_deseq2.r
* [#110](https://github.com/nf-core/atacseq/pull/110) - updated AWS test GitHub actions
* [nf-core/chipseq#118](https://github.com/nf-core/chipseq/issues/118) - Running on with SGE
* [nf-core/chipseq#132](https://github.com/nf-core/chipseq/issues/132) - BigWig Error: sort: cannot create temporary file in '': Read-only file system
* [nf-core/chipseq#154](https://github.com/nf-core/chipseq/issues/154) - computeMatrix.val.mat.gz files not zipped
* Make executables in `bin/` compatible with Python 3
* [#110](https://github.com/nf-core/atacseq/pull/110) - updated AWS test GitHub actions

### `Dependencies`

Expand All @@ -49,24 +49,24 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
* Update gawk `4.2.1` -> `5.1.0`
* Update r-base `3.4.1` -> `3.6.2`
* Update r-optparse `1.6.0` -> `1.6.6`
* Update r-ggplot2 `3.1.0` -> `3.3.0`
* Update r-ggplot2 `3.1.0` -> `3.3.2`
* Update r-pheatmap `1.0.10` -> `1.0.12`
* Update r-lattice `0.20_35` -> `0.20_41`
* Update r-upsetr `1.3.3` -> `1.4.0`
* Update r-scales `1.0.0` -> `1.1.1`
* Update r-xfun `0.3` -> `0.14`
* Update r-xfun `0.3` -> `0.15`
* Update fastqc `0.11.8` -> `0.11.9`
* Update trim-galore `0.5.0` -> `0.6.5`
* Update samtools `1.9` -> `1.10`
* Update picard `2.19.0` -> `2.22.8`
* Update picard `2.19.0` -> `2.23.1`
* Update pysam `0.15.2` -> `0.15.3`
* Update bedtools `2.27.1` -> `2.29.2`
* Update ucsc-bedgraphtobigwig `377` -> `357`
* Update deeptools `3.2.1` -> `3.4.3`
* Update macs2 `2.1.2` -> `2.2.7.1`
* Update homer `4.9.1` -> `4.11`
* Update ataqv `1.0.0` -> `1.1.1`
* Update subread `1.6.4` -> `2.0.0`
* Update subread `1.6.4` -> `2.0.1`
* Update multiqc `1.7` -> `1.8`
* Update bioconductor-deseq2 `1.20.0` -> `1.26.0`
* Update bioconductor-vsn `3.46.0` -> `3.54.0`
Expand All @@ -83,14 +83,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
* Add `CITATIONS.md` file
* Capitalised process names
* Add parameters:
* `--seq_center`
* `--trim_nextseq`
* `--fingerprint_bins`
* `--broad_cutoff`
* `--min_reps_consensus`
* `--save_macs_pileup`
* `--skip_diff_analysis`
* `--skip_*` for skipping QC steps
* `--seq_center`
* `--trim_nextseq`
* `--fingerprint_bins`
* `--broad_cutoff`
* `--min_reps_consensus`
* `--save_macs_pileup`
* `--skip_diff_analysis`
* `--skip_*` for skipping QC steps

### `Fixed`

Expand Down
35 changes: 17 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
[![GitHub Actions CI Status](https://github.com/nf-core/atacseq/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/atacseq/actions)
[![GitHub Actions Linting Status](https://github.com/nf-core/atacseq/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/atacseq/actions)
[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A519.10.0-brightgreen.svg)](https://www.nextflow.io/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2634132.svg)](https://doi.org/10.5281/zenodo.2634132)

[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](http://bioconda.github.io/)
[![Docker](https://img.shields.io/docker/automated/nfcore/atacseq.svg)](https://hub.docker.com/r/nfcore/atacseq)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2634132.svg)](https://doi.org/10.5281/zenodo.2634132)
![[Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23atacseq-4A154B?logo=slack)](https://nfcore.slack.com/channels/atacseq)

## Introduction

Expand Down Expand Up @@ -59,23 +60,23 @@ The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool

## Quick Start

i. Install [`nextflow`](https://nf-co.re/usage/installation)
1. Install [`nextflow`](https://nf-co.re/usage/installation)

ii. Install either [`Docker`](https://docs.docker.com/engine/installation/) or [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) 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))
2. Install either [`Docker`](https://docs.docker.com/engine/installation/) or [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) 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))_

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

```bash
nextflow run nf-core/atacseq -profile test,<docker/singularity/conda/institute>
```
```bash
nextflow run nf-core/atacseq -profile test,<docker/singularity/conda/institute>
```

> 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.
> 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.

iv. Start running your own analysis!
4. Start running your own analysis!

```bash
nextflow run nf-core/atacseq -profile <docker/singularity/conda/institute> --input design.csv --genome GRCh37
```
```bash
nextflow run nf-core/atacseq -profile <docker/singularity/conda/institute> --input design.csv --genome GRCh37
```

See [usage docs](docs/usage.md) for all of the available options when running the pipeline.

Expand All @@ -98,20 +99,20 @@ The pipeline was originally written by [The Bioinformatics & Biostatistics Group

The pipeline was developed by [Harshil Patel](mailto:harshil.patel@crick.ac.uk).

The [nf-core/rnaseq](https://github.com/nf-core/rnaseq) and [nf-core/chipseq](https://github.com/nf-core/chipseq) pipelines developed by Phil Ewels were initially used as a template for this pipeline. Many thanks to Phil for all of his help and advice, and the team at SciLifeLab.

Many thanks to others who have helped out and contributed along the way too, including (but not limited to): [@apeltzer](https://github.com/apeltzer), [@crickbabs](https://github.com/crickbabs), [drewjbeh](https://github.com/drewjbeh), [@houghtos](https://github.com/houghtos), [@jinmingda](https://github.com/jinmingda), [@ktrns](https://github.com/ktrns), [@MaxUlysse](https://github.com/MaxUlysse), [@mashehu](https://github.com/mashehu), [@micans](https://github.com/micans), [@pditommaso](https://github.com/pditommaso) and [@sven1103](https://github.com/sven1103).
Many thanks to others who have helped out and contributed along the way too, including (but not limited to): [@ewels](https://github.com/ewels), [@apeltzer](https://github.com/apeltzer), [@crickbabs](https://github.com/crickbabs), [drewjbeh](https://github.com/drewjbeh), [@houghtos](https://github.com/houghtos), [@jinmingda](https://github.com/jinmingda), [@ktrns](https://github.com/ktrns), [@MaxUlysse](https://github.com/MaxUlysse), [@mashehu](https://github.com/mashehu), [@micans](https://github.com/micans), [@pditommaso](https://github.com/pditommaso) and [@sven1103](https://github.com/sven1103).

## Contributions and Support

If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).

For further information or help, don't hesitate to get in touch on [Slack](https://nfcore.slack.com/channels/atacseq) (you can join with [this invite](https://nf-co.re/join/slack)).
For further information or help, don't hesitate to get in touch on the [Slack `#atacseq` channel](https://nfcore.slack.com/channels/atacseq) (you can join with [this invite](https://nf-co.re/join/slack)).
## Citation
If you use nf-core/atacseq for your analysis, please cite it using the following doi: [10.5281/zenodo.2634132](https://doi.org/10.5281/zenodo.2634132)
An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.
You can cite the `nf-core` publication as follows:
> **The nf-core framework for community-curated bioinformatics pipelines.**
Expand All @@ -120,5 +121,3 @@ You can cite the `nf-core` publication as follows:
>
> _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)
An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.
4 changes: 2 additions & 2 deletions conf/test_full.config
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ params {

// Input data
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/atacseq/design_full.csv'

// Genome references
genome = 'hg19'
genome = 'hg38'
}
Binary file modified docs/images/mqc_annotatePeaks_feature_percentage_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_cutadapt_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_deeptools_plotFingerprint_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_deeptools_plotProfile_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_deseq2_pca_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_deseq2_sample_similarity_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_featureCounts_assignment_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_frip_score_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_macs2_peak_count_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_picard_deduplication_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_picard_insert_size_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_preseq_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_samtools_idxstats_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/mqc_samtools_stats_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/r_deseq2_ma_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/r_deseq2_volcano_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 36a427d

Please sign in to comment.