Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update template to v1.7 #12

Merged
merged 13 commits into from
Oct 10, 2019
Merged
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
6 changes: 3 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ We try to manage the required tasks for nf-core/nanodemux using GitHub issues, y

However, don't be put off by this template - other more general issues and suggestions are welcome! Contributions to the code are even more welcome ;)

> If you need help using or modifying nf-core/nanodemux then the best place to ask is on the pipeline channel on [Slack](https://nf-core-invite.herokuapp.com/).
> If you need help using or modifying nf-core/nanodemux then the best place to ask is on the pipeline channel on [Slack](https://nf-co.re/join/slack/).



Expand All @@ -32,7 +32,7 @@ Typically, pull-requests are only fully reviewed when these tests are passing, t
There are typically two types of tests that run:

### Lint Tests
The nf-core has a [set of guidelines](http://nf-co.re/guidelines) which all pipelines must adhere to.
The nf-core has a [set of guidelines](https://nf-co.re/developers/guidelines) which all pipelines must adhere to.
To enforce these and ensure that all pipelines stay in sync, we have developed a helper tool which runs checks on the pipeline code. This is in the [nf-core/tools repository](https://github.com/nf-core/tools) and once installed can be run locally with the `nf-core lint <pipeline-directory>` command.

If any failures or warnings are encountered, please follow the listed URL for more documentation.
Expand All @@ -44,4 +44,4 @@ If there are any failures then the automated tests fail.
These tests are run both with the latest available version of Nextflow and also the minimum required version that is stated in the pipeline code.

## Getting help
For further information/help, please consult the [nf-core/nanodemux documentation](https://github.com/nf-core/nanodemux#documentation) and don't hesitate to get in touch on the pipeline channel on [Slack](https://nf-core-invite.herokuapp.com/).
For further information/help, please consult the [nf-core/nanodemux documentation](https://github.com/nf-core/nanodemux#documentation) and don't hesitate to get in touch on the [nf-core/nanodemux pipeline channel](https://nfcore.slack.com/channels/nanodemux) on [Slack](https://nf-co.re/join/slack/).
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ matrix:

before_install:
# PRs to master are only ok if coming from dev branch
- '[ $TRAVIS_PULL_REQUEST = "false" ] || [ $TRAVIS_BRANCH != "master" ] || ([ $TRAVIS_PULL_REQUEST_SLUG = $TRAVIS_REPO_SLUG ] && [ $TRAVIS_PULL_REQUEST_BRANCH = "dev" ])'
- '[ $TRAVIS_PULL_REQUEST = "false" ] || [ $TRAVIS_BRANCH != "master" ] || ([ $TRAVIS_PULL_REQUEST_SLUG = $TRAVIS_REPO_SLUG ] && ([ $TRAVIS_PULL_REQUEST_BRANCH = "dev" ] || [ $TRAVIS_PULL_REQUEST_BRANCH = "patch" ]))'
# Pull the docker image first so the test doesn't wait for this
#- docker pull nfcore/nanodemux:dev
# Fake the tag locally so that the pipeline runs properly
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ 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 [Slack](https://nf-core-invite.herokuapp.com/). 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.

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM nfcore/base
FROM nfcore/base:1.7
LABEL authors="Chelsea Sawyer" \
description="Docker image containing all requirements for nf-core/nanodemux pipeline"

Expand Down
37 changes: 33 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![nfcore/nanodemux](docs/images/nfcore-nanodemux_logo.png)
# ![nfcore/nanodemux](docs/images/nf-core-nanodemux_logo.png)

[![Build Status](https://travis-ci.com/nf-core/nanodemux.svg?branch=master)](https://travis-ci.com/nf-core/nanodemux)
[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A50.32.0-brightgreen.svg)](https://www.nextflow.io/)
Expand All @@ -21,6 +21,27 @@ The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool
* Convert `.sam` to co-ordinate sorted `.bam` and obtain mapping metrics ([`SAMtools`](http://www.htslib.org/doc/samtools.html))
4. Present QC for alignment results ([`MultiQC`](https://multiqc.info/docs/))

## Quick Start

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

ii. Install one of [`docker`](https://docs.docker.com/engine/installation/) or [`singularity`](https://www.sylabs.io/guides/3.0/user-guide/)

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

```bash
nextflow run nf-core/nanodemux -profile test,<docker/singularity>
```

iv. Start running your own analysis!

<!-- TODO nf-core: Update the default command above used to run the pipeline -->
```bash
nextflow run nf-core/nanodemux -profile <docker/singularity>
```

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

## Documentation

The nf-core/nanodemux pipeline comes with documentation about the pipeline, found in the `docs/` directory:
Expand All @@ -35,13 +56,21 @@ The nf-core/nanodemux pipeline comes with documentation about the pipeline, foun
5. [Troubleshooting](https://nf-co.re/usage/troubleshooting)

## Credits

nf-core/nanodemux was originally written by [Chelsea Sawyer](https://github.com/csawye01) and [Harshil Patel](https://github.com/drpatelh) from The Bioinformatics & Biostatistics Group for use at The Francis Crick Institute, London.

Many thanks to others who have helped out along the way too, including (but not limited to): [`@crickbabs`](https://github.com/crickbabs)
Many thanks to others who have helped out along the way too, including (but not limited to): [`@crickbabs`](https://github.com/crickbabs)

## 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/nf-core/nanodemux) (you can join with [this invite](https://nf-co.re/join/slack)).

## Citation

<!-- TODO nf-core: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi. -->
<!-- If you use {{ cookiecutter.name }} for your analysis, please cite it using the following doi: [10.5281/zenodo.XXXXXX](https://doi.org/10.5281/zenodo.XXXXXX) -->
<!-- If you use nf-core/nanodemux for your analysis, please cite it using the following doi: [10.5281/zenodo.XXXXXX](https://doi.org/10.5281/zenodo.XXXXXX) -->

Ewels PA, Peltzer A, Fillinger S, Alneberg JA, Patel H, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. **nf-core: Community curated bioinformatics pipelines**. *bioRxiv*. 2019. p. 610741. [doi: 10.1101/610741](https://www.biorxiv.org/content/10.1101/610741v1).
You can cite the `nf-core` pre-print as follows:
> Ewels PA, Peltzer A, Fillinger S, Alneberg JA, Patel H, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. **nf-core: Community curated bioinformatics pipelines**. *bioRxiv*. 2019. p. 610741. [doi: 10.1101/610741](https://www.biorxiv.org/content/10.1101/610741v1).
2 changes: 1 addition & 1 deletion assets/email_template.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<body>
<div style="font-family: Helvetica, Arial, sans-serif; padding: 30px; max-width: 800px; margin: 0 auto;">

<img src="cid:nfcorenanodemuxlogo">
<img src="cid:nfcorepipelinelogo">

<h1>nf-core/nanodemux v${version}</h1>
<h2>Run Name: $runName</h2>
Expand Down
12 changes: 9 additions & 3 deletions assets/email_template.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
========================================
nf-core/nanodemux v${version}
========================================
----------------------------------------------------
,--./,-.
___ __ __ __ ___ /,-._.--~\\
|\\ | |__ __ / ` / \\ |__) |__ } {
| \\| | \\__, \\__/ | \\ |___ \\`-._,-`-,
`._,._,'
nf-core/nanodemux v${version}
----------------------------------------------------

Run Name: $runName

<% if (success){
Expand Down
File renamed without changes
8 changes: 4 additions & 4 deletions assets/sendmail_template.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ Content-Type: text/html; charset=utf-8
$email_html

--nfcoremimeboundary
Content-Type: image/png;name="nfcore-nanodemux_logo.png"
Content-Type: image/png;name="nf-core-nanodemux_logo.png"
Content-Transfer-Encoding: base64
Content-ID: <nfcorenanodemuxlogo>
Content-Disposition: inline; filename="nfcore-nanodemux_logo.png"
Content-ID: <nfcorepipelinelogo>
Content-Disposition: inline; filename="nf-core-nanodemux_logo.png"

<% out << new File("$baseDir/assets/nfcore-nanodemux_logo.png").
<% out << new File("$baseDir/assets/nf-core-nanodemux_logo.png").
bytes.
encodeBase64().
toString().
Expand Down
5 changes: 2 additions & 3 deletions bin/scrape_software_versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
from __future__ import print_function
from collections import OrderedDict
import re
import os

# TODO nf-core: Add additional regexes for new tools in process get_software_versions
regexes = {
Expand Down Expand Up @@ -31,13 +30,13 @@

# Search each file using its regex
for k, v in regexes.items():
if os.path.exists(v[0]):
try:
with open(v[0]) as x:
versions = x.read()
match = re.search(v[1], versions)
if match:
results[k] = "v{}".format(match.group(1))
else:
except IOError:
results[k] = False

# Remove software set to false in results
Expand Down
35 changes: 19 additions & 16 deletions conf/base.config
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ process {

// TODO nf-core: Check the defaults for all processes
cpus = { check_max( 1 * task.attempt, 'cpus' ) }
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
memory = { check_max( 7.GB * task.attempt, 'memory' ) }
time = { check_max( 4.h * task.attempt, 'time' ) }

errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish' }
Expand All @@ -22,23 +22,26 @@ process {

// Process-specific resource requirements
withLabel:process_low {
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
time = { check_max( 8.h * task.attempt, 'time' ) }
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
memory = { check_max( 14.GB * task.attempt, 'memory' ) }
time = { check_max( 6.h * task.attempt, 'time' ) }
}
withLabel:process_medium {
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
memory = { check_max( 64.GB * task.attempt, 'memory' ) }
time = { check_max( 16.h * task.attempt, 'time' ) }
cpus = { check_max( 6 * task.attempt, 'cpus' ) }
memory = { check_max( 42.GB * task.attempt, 'memory' ) }
time = { check_max( 8.h * task.attempt, 'time' ) }
}
withLabel:process_high {
cpus = { check_max( 16 * task.attempt, 'cpus' ) }
memory = { check_max( 128.GB * task.attempt, 'memory' ) }
cpus = { check_max( 12 * task.attempt, 'cpus' ) }
memory = { check_max( 84.GB * task.attempt, 'memory' ) }
time = { check_max( 72.h * task.attempt, 'time' ) }
}
withLabel:process_long {
time = { check_max( 20.h * task.attempt, 'time' ) }
}

// Process-specific containers
withName:checkSampleSheet {
withName:CheckSampleSheet {
container = 'quay.io/biocontainers/pysam:0.15.3--py27hda2845c_1'
}
withName:Guppy {
Expand All @@ -48,22 +51,22 @@ process {
container = 'genomicpariscentre/guppy:3.2.2'
}
}
withName:pycoQC {
withName:PycoQC {
container = 'quay.io/biocontainers/pycoqc:2.2.4--py_0'
}
withName:NanoPlot_summary {
withName:NanoPlotSummary {
container = 'quay.io/biocontainers/nanoplot:1.26.3--py_0'
}
withName:NanoPlot_fastq {
withName:NanoPlotFastQ {
container = 'quay.io/biocontainers/nanoplot:1.26.3--py_0'
}
withName:GraphMap {
container = 'quay.io/biocontainers/graphmap:0.5.2--he941832_2'
}
withName:minimap2 {
withName:MiniMap2 {
container = 'quay.io/biocontainers/minimap2:2.17--h84994c4_0'
}
withName:sortBAM {
withName:SortBAM {
container = 'quay.io/biocontainers/samtools:1.9--h8571acd_11'
}
withName:output_documentation {
Expand All @@ -73,7 +76,7 @@ process {
cache = false
container = 'quay.io/biocontainers/pysam:0.15.3--py27hda2845c_1'
}
withName:multiqc {
withName:MultiQC {
container = 'quay.io/biocontainers/multiqc:1.7--py_4'
}
}
Expand Down
Loading