Skip to content

Commit 322f3a2

Browse files
authored
Merge pull request #7 from nf-core/dev
v1.1.1: Update pipeline to nfcore 2.5.1
2 parents f191d29 + 4ec1b22 commit 322f3a2

24 files changed

+266
-117
lines changed

.editorconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ trim_trailing_whitespace = true
88
indent_size = 4
99
indent_style = space
1010

11-
[*.{md,yml,yaml,html,css,scss,js}]
11+
[*.{md,yml,yaml,html,css,scss,js,cff}]
1212
indent_size = 2
1313

1414
# These files are edited and tested upstream in nf-core/modules

.github/PULL_REQUEST_TEMPLATE.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/isos
1515

1616
- [ ] This comment contains a description of changes (with reason).
1717
- [ ] If you've fixed a bug or added code that should be tested, add tests!
18-
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/isoseq/tree/master/.github/CONTRIBUTING.md)
19-
- [ ] If necessary, also make a PR on the nf-core/isoseq _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
18+
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/isoseq/tree/master/.github/CONTRIBUTING.md)- [ ] If necessary, also make a PR on the nf-core/isoseq _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
2019
- [ ] Make sure your code lints (`nf-core lint`).
2120
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
2221
- [ ] Usage Documentation in `docs/usage.md` is updated.

.github/workflows/ci.yml

+6-17
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ on:
1010

1111
env:
1212
NXF_ANSI_LOG: false
13-
CAPSULE_LOG: none
1413

1514
jobs:
1615
test:
@@ -20,27 +19,17 @@ jobs:
2019
runs-on: ubuntu-latest
2120
strategy:
2221
matrix:
23-
# Nextflow versions
24-
include:
25-
# Test pipeline minimum Nextflow version
26-
- NXF_VER: "21.10.3"
27-
NXF_EDGE: ""
28-
# Test latest edge release of Nextflow
29-
- NXF_VER: ""
30-
NXF_EDGE: "1"
22+
NXF_VER:
23+
- "21.10.3"
24+
- "latest-everything"
3125
steps:
3226
- name: Check out pipeline code
3327
uses: actions/checkout@v2
3428

3529
- name: Install Nextflow
36-
env:
37-
NXF_VER: ${{ matrix.NXF_VER }}
38-
# Uncomment only if the edge release is more recent than the latest stable release
39-
# See https://github.com/nextflow-io/nextflow/issues/2467
40-
# NXF_EDGE: ${{ matrix.NXF_EDGE }}
41-
run: |
42-
wget -qO- get.nextflow.io | bash
43-
sudo mv nextflow /usr/local/bin/
30+
uses: nf-core/setup-nextflow@v1
31+
with:
32+
version: "${{ matrix.NXF_VER }}"
4433

4534
- name: Run pipeline with test data (uLTRA)
4635
run: |

.github/workflows/linting.yml

+32-6
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,48 @@ jobs:
3535
- name: Run Prettier --check
3636
run: prettier --check ${GITHUB_WORKSPACE}
3737

38+
PythonBlack:
39+
runs-on: ubuntu-latest
40+
steps:
41+
- uses: actions/checkout@v2
42+
43+
- name: Check code lints with Black
44+
uses: psf/black@stable
45+
46+
# If the above check failed, post a comment on the PR explaining the failure
47+
- name: Post PR comment
48+
if: failure()
49+
uses: mshick/add-pr-comment@v1
50+
with:
51+
message: |
52+
## Python linting (`black`) is failing
53+
54+
To keep the code consistent with lots of contributors, we run automated code consistency checks.
55+
To fix this CI test, please run:
56+
57+
* Install [`black`](https://black.readthedocs.io/en/stable/): `pip install black`
58+
* Fix formatting errors in your pipeline: `black .`
59+
60+
Once you push these changes the test should pass, and you can hide this comment :+1:
61+
62+
We highly recommend setting up Black in your code editor so that this formatting is done automatically on save. Ask about it on Slack for help!
63+
64+
Thanks again for your contribution!
65+
repo-token: ${{ secrets.GITHUB_TOKEN }}
66+
allow-repeats: false
67+
3868
nf-core:
3969
runs-on: ubuntu-latest
4070
steps:
4171
- name: Check out pipeline code
4272
uses: actions/checkout@v2
4373

4474
- name: Install Nextflow
45-
env:
46-
CAPSULE_LOG: none
47-
run: |
48-
wget -qO- get.nextflow.io | bash
49-
sudo mv nextflow /usr/local/bin/
75+
uses: nf-core/setup-nextflow@v1
5076

5177
- uses: actions/setup-python@v3
5278
with:
53-
python-version: "3.6"
79+
python-version: "3.7"
5480
architecture: "x64"
5581

5682
- name: Install dependencies

CHANGELOG.md

+18
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,24 @@
33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6+
## v1.1.1 - White Hawk [26/09/2022]
7+
8+
Update the pipeline to nf-core 2.5.1, update modules, and fix documentation.
9+
10+
### `Added`
11+
12+
### `Fixed`
13+
14+
- Documentation: Correct aligner option documentation
15+
16+
### `Dependencies`
17+
18+
- Update `samplesheet_check` module
19+
- Update `dumpsoftwareversion` module
20+
- Update `MultiQC` module
21+
22+
### `Deprecated`
23+
624
## v1.1.0 - Black Crow [12/07/2022]
725

826
Improves computation time.

CITATION.cff

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
cff-version: 1.2.0
2+
message: "If you use `nf-core tools` in your work, please cite the `nf-core` publication"
3+
authors:
4+
- family-names: Ewels
5+
given-names: Philip
6+
- family-names: Peltzer
7+
given-names: Alexander
8+
- family-names: Fillinger
9+
given-names: Sven
10+
- family-names: Patel
11+
given-names: Harshil
12+
- family-names: Alneberg
13+
given-names: Johannes
14+
- family-names: Wilm
15+
given-names: Andreas
16+
- family-names: Ulysse Garcia
17+
given-names: Maxime
18+
- family-names: Di Tommaso
19+
given-names: Paolo
20+
- family-names: Nahnsen
21+
given-names: Sven
22+
title: "The nf-core framework for community-curated bioinformatics pipelines."
23+
version: 2.4.1
24+
doi: 10.1038/s41587-020-0439-x
25+
date-released: 2022-05-16
26+
url: https://github.com/nf-core/tools
27+
prefered-citation:
28+
type: article
29+
authors:
30+
- family-names: Ewels
31+
given-names: Philip
32+
- family-names: Peltzer
33+
given-names: Alexander
34+
- family-names: Fillinger
35+
given-names: Sven
36+
- family-names: Patel
37+
given-names: Harshil
38+
- family-names: Alneberg
39+
given-names: Johannes
40+
- family-names: Wilm
41+
given-names: Andreas
42+
- family-names: Ulysse Garcia
43+
given-names: Maxime
44+
- family-names: Di Tommaso
45+
given-names: Paolo
46+
- family-names: Nahnsen
47+
given-names: Sven
48+
doi: 10.1038/s41587-020-0439-x
49+
journal: nature biotechnology
50+
start: 276
51+
end: 278
52+
title: "The nf-core framework for community-curated bioinformatics pipelines."
53+
issue: 3
54+
volume: 38
55+
year: 2020
56+
url: https://dx.doi.org/10.1038/s41587-020-0439-x

README.md

+7-12
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
# ![nf-core/isoseq](docs/images/nf-core-isoseq_logo_light.png#gh-light-mode-only) ![nf-core/isoseq](docs/images/nf-core-isoseq_logo_dark.png#gh-dark-mode-only)
22

3-
[![GitHub Actions CI Status](https://github.com/nf-core/isoseq/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/isoseq/actions?query=workflow%3A%22nf-core+CI%22)
4-
[![GitHub Actions Linting Status](https://github.com/nf-core/isoseq/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/isoseq/actions?query=workflow%3A%22nf-core+linting%22)
5-
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?logo=Amazon%20AWS)](https://nf-co.re/isoseq/results)
6-
[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8)](https://doi.org/10.5281/zenodo.XXXXXXX)
3+
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/isoseq/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)
74

85
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg)](https://www.nextflow.io/)
9-
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?logo=anaconda)](https://docs.conda.io/en/latest/)
10-
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?logo=docker)](https://www.docker.com/)
11-
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg)](https://sylabs.io/docs/)
6+
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
7+
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
8+
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
129
[![Launch on Nextflow Tower](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Nextflow%20Tower-%234256e7)](https://tower.nf/launch?pipeline=https://github.com/nf-core/isoseq)
1310

14-
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23isoseq-4A154B?logo=slack)](https://nfcore.slack.com/channels/isoseq)
15-
[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?logo=twitter)](https://twitter.com/nf_core)
16-
[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?logo=youtube)](https://www.youtube.com/c/nf-core)
11+
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23isoseq-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/isoseq)[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)
1712

1813
## Introduction
1914

@@ -54,7 +49,7 @@ On release, automated continuous integration tests run the pipeline on a full-si
5449

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

57-
```console
52+
```bash
5853
nextflow run nf-core/isoseq -profile test,YOURPROFILE --outdir <OUTDIR>
5954
```
6055

@@ -67,7 +62,7 @@ On release, automated continuous integration tests run the pipeline on a full-si
6762
6863
4. Start running your own analysis!
6964

70-
```console
65+
```bash
7166
nextflow run nf-core/isoseq --input samplesheet.csv --outdir <OUTDIR> --genome <GENOME NAME (e.g. GRCh37)> --primers <PRIMER FASTA> -profile <docker/singularity/podman/shifter/charliecloud/conda/institute>
7267
```
7368

assets/email_template.txt

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
`._,._,'
77
nf-core/isoseq v${version}
88
----------------------------------------------------
9-
109
Run Name: $runName
1110

1211
<% if (success){

bin/check_samplesheet.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from collections import Counter
1212
from pathlib import Path
1313

14-
1514
logger = logging.getLogger()
1615

1716

@@ -79,11 +78,13 @@ def validate_and_transform(self, row):
7978

8079
def _validate_sample(self, row):
8180
"""Assert that the sample name exists and convert spaces to underscores."""
82-
assert len(row[self._sample_col]) > 0, "Sample input is required."
81+
if len(row[self._sample_col]) <= 0:
82+
raise AssertionError("Sample input is required.")
8383
# Sanitize samples slightly.
8484
row[self._sample_col] = row[self._sample_col].replace(" ", "_")
8585

8686
def _validate_first(self, row):
87+
8788
"""Assert that the BAM entry is non-empty and has the right format."""
8889
assert len(row[self._first_col]) > 0, "The BAM file is required."
8990
self._validate_format(row[self._first_col])
@@ -152,7 +153,7 @@ def sniff_format(handle):
152153
handle.seek(0)
153154
sniffer = csv.Sniffer()
154155
if not sniffer.has_header(peek):
155-
logger.critical(f"The given sample sheet does not appear to contain a header.")
156+
logger.critical("The given sample sheet does not appear to contain a header.")
156157
sys.exit(1)
157158
dialect = sniffer.sniff(peek)
158159
return dialect
@@ -191,7 +192,8 @@ def check_samplesheet(file_in, file_out):
191192

192193
# Validate the existence of the expected header columns.
193194
if not required_columns.issubset(reader.fieldnames):
194-
logger.critical(f"The sample sheet **must** contain the column headers: {', '.join(required_columns)}.")
195+
req_cols = ", ".join(required_columns)
196+
logger.critical(f"The sample sheet **must** contain these column headers: {req_cols}.")
195197
sys.exit(1)
196198

197199
# Validate each row.

conf/base.config

+5
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ process {
2424
// If possible, it would be nice to keep the same label naming convention when
2525
// adding in your local modules too.
2626
// See https://www.nextflow.io/docs/latest/config.html#config-process-selectors
27+
withLabel:process_single {
28+
cpus = { check_max( 1 , 'cpus' ) }
29+
memory = { check_max( 6.GB * task.attempt, 'memory' ) }
30+
time = { check_max( 4.h * task.attempt, 'time' ) }
31+
}
2732
withLabel:process_low {
2833
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
2934
memory = { check_max( 12.GB * task.attempt, 'memory' ) }

docs/usage.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This pipeline has been designed to analyse several samples or sequencing runs at
1212

1313
You will need to create a samplesheet with information about the samples you would like to analyze before running the pipeline. Use `--input` parameter to specify its location.
1414

15-
```console
15+
```bash
1616
--input '[path to samplesheet file]'
1717
```
1818

@@ -66,24 +66,24 @@ The reference genome annotation in `GTF` format is required if `uLTRA` aligner i
6666
Two aligners are available. The `uLTRA` aligner helps to detect small exons with the help of reference genome. However if no annotation is available for your genome you can use minimap2.
6767

6868
```console
69-
--fasta '[ultra,minimap2]'
69+
--aligner '[ultra,minimap2]'
7070
```
7171

7272
## Running the pipeline
7373

7474
The typical command for running the pipeline is as follows:
7575

76-
```console
76+
```bash
7777
nextflow run nf-core/isoseq --input samplesheet.csv --outdir <OUTDIR> --primers primers.fasta --fasta Gallus_gallus.GRCg6a.dna.toplevel.fasta -profile singularity
7878
```
7979

8080
This will launch the pipeline with the `singularity` configuration profile. See below for more information about profiles.
8181

8282
Note that the pipeline will create the following files in your working directory:
8383

84-
```console
84+
```bash
8585
work # Directory containing the nextflow working files
86-
<OUTIDR> # Finished results in specified location (defined with --outdir, default = 'results')
86+
<OUTDIR> # Finished results in specified location (defined with --outdir)
8787
.nextflow_log # Log file from Nextflow
8888
# Other nextflow hidden files, eg. history of pipeline runs and old logs.
8989
```
@@ -92,7 +92,7 @@ work # Directory containing the nextflow working files
9292

9393
When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline:
9494

95-
```console
95+
```bash
9696
nextflow pull nf-core/isoseq
9797
```
9898

@@ -268,6 +268,6 @@ Some HPC setups also allow you to run nextflow within a cluster job submitted yo
268268
In some cases, the Nextflow Java virtual machines can start to request a large amount of memory.
269269
We recommend adding the following line to your environment to limit this (typically in `~/.bashrc` or `~./bash_profile`):
270270
271-
```console
271+
```bash
272272
NXF_OPTS='-Xms1g -Xmx4g'
273273
```

lib/WorkflowIsoseq.groovy

+2-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class WorkflowIsoseq {
1010
public static void initialise(params, log) {
1111
genomeExistsError(params, log)
1212

13+
1314
if (!params.fasta) {
1415
log.error "Genome fasta file not specified with e.g. '--fasta genome.fa' or via a detectable config file."
1516
System.exit(1)
@@ -41,9 +42,7 @@ class WorkflowIsoseq {
4142
yaml_file_text += "data: |\n"
4243
yaml_file_text += "${summary_section}"
4344
return yaml_file_text
44-
}
45-
46-
//
45+
}//
4746
// Exit pipeline if incorrect --genome key provided
4847
//
4948
private static void genomeExistsError(params, log) {

0 commit comments

Comments
 (0)