Skip to content

Commit 44f1525

Browse files
authored
Merge pull request nf-core#61 from nf-core/dev
Dev > Master, v1.0 release
2 parents d64b7f5 + c5d4973 commit 44f1525

File tree

10 files changed

+162
-121
lines changed

10 files changed

+162
-121
lines changed

.travis.yml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,33 @@
11
sudo: required
2-
language: java
2+
language: python
33
jdk: openjdk8
44
services: docker
5+
python: '3.6'
6+
cache: pip
7+
matrix:
8+
fast_finish: true
59

6-
before_install: docker pull nfcore/rnaseq:latest
10+
before_install:
11+
# PRs to master are only ok if coming from dev branch
12+
- '[ $TRAVIS_PULL_REQUEST = "false" ] || [ $TRAVIS_BRANCH != "master" ] || ([ $TRAVIS_PULL_REQUEST_SLUG = $TRAVIS_REPO_SLUG ] && [ $TRAVIS_PULL_REQUEST_BRANCH = "dev" ])'
13+
# Pull the docker image first so the test doesn't wait for this
14+
- docker pull nfcore/rnaseq
15+
# Fake the tag locally so that the pipeline runs properly
16+
- docker tag nfcore/rnaseq nfcore/rnaseq:1.0
717

818
install:
919
# Install Nextflow
10-
- mkdir /tmp/nextflow
11-
- cd /tmp/nextflow
20+
- mkdir /tmp/nextflow && cd /tmp/nextflow
1221
- wget -qO- get.nextflow.io | bash
1322
- sudo ln -s /tmp/nextflow/nextflow /usr/local/bin/nextflow
1423
# Install nf-core/tools
15-
- git clone https://github.com/nf-core/tools.git /tmp/nf-core-tools
16-
- cd /tmp/nf-core-tools
17-
- pip install --user -e .
18-
# Make test directories
19-
- mkdir ${TRAVIS_BUILD_DIR}/tests
20-
- cd ${TRAVIS_BUILD_DIR}/tests
21-
24+
- pip install nf-core
25+
# Reset
26+
- mkdir ${TRAVIS_BUILD_DIR}/tests && cd ${TRAVIS_BUILD_DIR}/tests
2227

2328
env:
24-
- NXF_VER=0.30.1
25-
- ''
29+
- NXF_VER='0.31.1' # Specify a minimum NF version that should be tested and work
30+
- NXF_VER='' # Plus: get the latest NF version and check that it works
2631

2732
script:
2833
# Lint the pipeline code

CHANGELOG.md

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,42 @@
1-
## nf-core/rnaseq v1.0dev
2-
This release marks the point where the pipeline was moved from SciLifeLab/NGI-RNAseq
3-
over to the new nf-core community, at nf-core/rnaseq.
1+
# nf-core/rnaseq
2+
3+
## [Version 1.0](https://github.com/nf-core/rnaseq/releases/tag/1.0) - 2018-08-20
4+
5+
This release marks the point where the pipeline was moved from [SciLifeLab/NGI-RNAseq](https://github.com/SciLifeLab/NGI-RNAseq)
6+
over to the new [nf-core](http://nf-co.re/) community, at [nf-core/rnaseq](https://github.com/nf-core/rnaseq).
47

58
View the previous changelog at [SciLifeLab/NGI-RNAseq/CHANGELOG.md](https://github.com/SciLifeLab/NGI-RNAseq/blob/master/CHANGELOG.md)
9+
10+
In addition to porting to the new nf-core community, the pipeline has had a number of major changes in this version.
11+
There have been 157 commits by 16 different contributors covering 70 different files in the pipeline: 7,357 additions and 8,236 deletions!
12+
13+
In summary, the main changes are:
14+
15+
* Rebranding and renaming throughout the pipeline to nf-core
16+
* Updating many parts of the pipeline config and style to meet nf-core standards
17+
* Support for GFF files in addition to GTF files
18+
* Just use `--gff` instead of `--gtf` when specifying a file path
19+
* New command line options to skip various quality control steps
20+
* More safety checks when launching a pipeline
21+
* Several new sanity checks - for example, that the specified reference genome exists
22+
* Improved performance with memory usage (especially STAR and Picard)
23+
* New BigWig file outputs for plotting coverage across the genome
24+
* Refactored gene body coverage calculation, now much faster and using much less memory
25+
* Bugfixes in the MultiQC process to avoid edge cases where it wouldn't run
26+
* MultiQC report now automatically attached to the email sent when the pipeline completes
27+
* New testing method, with data on GitHub
28+
* Now run pipeline with `-profile test` instead of using bash scripts
29+
* Rewritten continuous integration tests with Travis CI
30+
* New explicit support for Singularity containers
31+
* Improved MultiQC support for DupRadar and featureCounts
32+
* Now works for all users instead of just NGI Stockholm
33+
* New configuration for use on AWS batch
34+
* Updated config syntax to support latest versions of Nextflow
35+
* Built-in support for a number of new local HPC systems
36+
* CCGA, GIS, UCT HEX, updates to UPPMAX, CFC, BINAC, Hebbe, c3se
37+
* Slightly improved documentation (more updates to come)
38+
* Updated software packages
39+
40+
...and many more minor tweaks.
41+
42+
Thanks to everyone who has worked on this release!

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ LABEL authors="[email protected]" \
44
description="Docker image containing all requirements for the nfcore/rnaseq pipeline"
55

66
COPY environment.yml /
7-
RUN conda env update -n root -f /environment.yml && conda clean -a
7+
RUN conda env create -f /environment.yml && conda clean -a
8+
ENV PATH /opt/conda/envs/nf-core-rnaseq-1.0/bin:$PATH

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ![nfcore/rnaseq](docs/images/nfcore-rnaseq_logo.png)
22

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

77
[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](http://bioconda.github.io/)

Singularity

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@ Bootstrap:docker
33

44
%labels
55
MAINTAINER Phil Ewels <[email protected]>
6-
DESCRIPTION Container image containing all requirements for the nf-core/rnaseq pipeline
7-
VERSION 1.0dev
6+
DESCRIPTION Singularity image containing all requirements for the nf-core/rnaseq pipeline
7+
VERSION 1.0
8+
9+
%environment
10+
PATH=/opt/conda/envs/nf-core-rnaseq-1.0/bin:$PATH
11+
export PATH
812

913
%files
1014
environment.yml /
1115

1216
%post
13-
/opt/conda/bin/conda env update -n root -f /environment.yml
17+
/opt/conda/bin/conda env create -f /environment.yml
1418
/opt/conda/bin/conda clean -a

bin/scrape_software_versions.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
'Picard MarkDuplicates': ['v_markduplicates.txt', r"([\d\.]+)-SNAPSHOT"],
1515
'Samtools': ['v_samtools.txt', r"samtools (\S+)"],
1616
'featureCounts': ['v_featurecounts.txt', r"featureCounts v(\S+)"],
17+
'deepTools': ['v_deeptools.txt', r"bamCoverage (\S+)"],
1718
'StringTie': ['v_stringtie.txt', r"(\S+)"],
1819
'Preseq': ['v_preseq.txt', r"Version: (\S+)"],
1920
'RSeQC': ['v_rseqc.txt', r"read_duplication.py ([\d\.]+)"],
@@ -32,6 +33,7 @@
3233
results['featureCounts'] = '<span style="color:#999999;\">N/A</span>'
3334
results['StringTie'] = '<span style="color:#999999;\">N/A</span>'
3435
results['Preseq'] = '<span style="color:#999999;\">N/A</span>'
36+
results['deepTools'] = '<span style="color:#999999;\">N/A</span>'
3537
results['RSeQC'] = '<span style="color:#999999;\">N/A</span>'
3638
results['MultiQC'] = '<span style="color:#999999;\">N/A</span>'
3739

conf/base.config

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,78 +13,76 @@ process {
1313

1414
container = params.container
1515

16-
cpus = { check_max( 1 * task.attempt, 'cpus' ) }
16+
cpus = { check_max( 2, 'cpus' ) }
1717
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
1818
time = { check_max( 2.h * task.attempt, 'time' ) }
1919

20-
errorStrategy = { task.exitStatus in [143,137] ? 'retry' : 'terminate' }
21-
maxRetries = 1
20+
errorStrategy = { task.exitStatus in [1,143,137,104,134,139] ? 'retry' : 'terminate' }
21+
maxRetries = 3
2222
maxErrors = '-1'
2323

2424
// Process-specific resource requirements
2525
withName:makeSTARindex {
26-
cpus = { check_max( 10 * task.attempt, 'cpus' ) }
26+
cpus = { check_max( 10, 'cpus' ) }
2727
memory = { check_max( 80.GB * task.attempt, 'memory' ) }
2828
time = { check_max( 5.h * task.attempt, 'time' ) }
2929
}
3030
withName:makeHISATindex {
31-
cpus = { check_max( 10 * task.attempt, 'cpus' ) }
31+
cpus = { check_max( 10, 'cpus' ) }
3232
memory = { check_max( 80.GB * task.attempt, 'memory' ) }
3333
time = { check_max( 5.h * task.attempt, 'time' ) }
3434
}
35-
withName:fastqc {
36-
errorStrategy = { task.exitStatus in [143,137] ? 'retry' : 'ignore' }
37-
}
3835
withName:trim_galore {
39-
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
4036
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
4137
time = { check_max( 8.h * task.attempt, 'time' ) }
4238
}
4339
withName:star {
44-
cpus = { check_max( 10 * task.attempt, 'cpus' ) }
40+
cpus = { check_max (10, 'cpus')}
4541
memory = { check_max( 80.GB * task.attempt, 'memory' ) }
4642
time = { check_max( 8.h * task.attempt, 'time' ) }
4743
}
4844
withName:hisat2Align {
49-
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
45+
cpus = { check_max( 8, 'cpus' ) }
5046
memory = { check_max( 64.GB * task.attempt, 'memory' ) }
5147
time = { check_max( 8.h * task.attempt, 'time' ) }
5248
}
5349
withName:hisat2_sortOutput {
54-
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
50+
cpus = { check_max( 4, 'cpus' ) }
5551
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
5652
time = { check_max( 8.h * task.attempt, 'time' ) }
5753
}
5854
withName:rseqc {
55+
cpus = { check_max( 8, 'cpus' ) }
56+
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
57+
time = { check_max( 7.h * task.attempt, 'time' ) }
58+
errorStrategy = 'ignore'
59+
}
60+
withName:createBigWig {
5961
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
6062
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
6163
time = { check_max( 7.h * task.attempt, 'time' ) }
62-
errorStrategy = { task.exitStatus in [143,137] ? 'retry' : 'ignore' }
6364
}
6465
withName:genebody_coverage {
65-
cpus = { check_max( 1 * task.attempt, 'cpus' ) }
66+
cpus = { check_max( 1, 'cpus' ) }
6667
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
6768
time = { check_max( 7.h * task.attempt, 'time' ) }
68-
errorStrategy = { task.exitStatus in [143,137] ? 'retry' : 'ignore' }
69-
}
70-
withName:preseq {
71-
errorStrategy = { task.exitStatus in [143,137] ? 'retry' : 'ignore' }
7269
}
7370
withName:markDuplicates {
74-
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
7571
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
7672
}
7773
withName:dupradar {
78-
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
74+
cpus = { check_max( 1, 'cpus' ) }
75+
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
76+
}
77+
withName:featureCounts {
7978
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
8079
}
8180
withName:sample_correlation {
82-
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
8381
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
8482
}
8583
withName:multiqc {
8684
memory = { check_max( 2.GB * task.attempt, 'memory' ) }
87-
errorStrategy = { task.exitStatus in [143,137] ? 'retry' : 'ignore' }
85+
errorStrategy = 'ignore'
8886
}
8987
withName:get_software_versions {
9088
memory = { check_max( 2.GB, 'memory' ) }
@@ -94,7 +92,6 @@ process {
9492
withName:workflow_summary_mqc {
9593
memory = { check_max( 2.GB, 'memory' ) }
9694
cache = false
97-
executor = 'local'
9895
errorStrategy = 'ignore'
9996
}
10097
}
@@ -105,5 +102,4 @@ params {
105102
max_cpus = 16
106103
max_time = 240.h
107104
igenomes_base = 's3://ngi-igenomes/igenomes/'
108-
maxMultiqcEmailFileSize = 25.MB
109105
}

environment.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
# You can use this file to create a conda environment for this pipeline:
22
# conda env create -f environment.yml
3-
name: nfcore-rnaseq-1.0dev
3+
name: nf-core-rnaseq-1.0
44
channels:
55
- bioconda
66
- conda-forge
77
- defaults
88
dependencies:
99
- conda-forge::openjdk=8.0.144 # Needed for FastQC - conda build hangs without this
1010
- fastqc=0.11.7
11-
- trim-galore=0.5
12-
- star=2.6.0c
11+
- trim-galore=0.5.0
12+
- star=2.6.1a
1313
- hisat2=2.1.0
14-
- picard=2.18.7
14+
- picard=2.18.11
1515
- bioconductor-dupradar=1.8.0
1616
- conda-forge::r-data.table=1.11.4
1717
- conda-forge::r-gplots=3.0.1
@@ -21,7 +21,7 @@ dependencies:
2121
- rseqc=2.6.4
2222
- samtools=1.9
2323
- stringtie=1.3.4
24-
- subread=1.6.1
24+
- subread=1.6.2
2525
- gffread=0.9.9
26+
- deeptools=3.1.1
2627
- multiqc=1.6
27-
- deeptools=3.1.1

0 commit comments

Comments
 (0)