Skip to content

Commit 3ddccc9

Browse files
authored
Initial commit
0 parents  commit 3ddccc9

File tree

11 files changed

+164
-0
lines changed

11 files changed

+164
-0
lines changed

Diff for: .github/workflows/conventional-prs.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: PR
2+
on:
3+
pull_request_target:
4+
types:
5+
- opened
6+
- reopened
7+
- edited
8+
- synchronize
9+
10+
jobs:
11+
title-format:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: amannn/[email protected]
15+
env:
16+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17+
with:
18+
validateSingleCommit: true

Diff for: .github/workflows/main.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
10+
jobs:
11+
Formatting:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v2
15+
- name: Formatting
16+
uses: github/super-linter@v4
17+
env:
18+
VALIDATE_ALL_CODEBASE: false
19+
DEFAULT_BRANCH: main
20+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21+
VALIDATE_SNAKEMAKE_SNAKEFMT: true
22+
23+
Linting:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@v2
27+
- name: Lint workflow
28+
uses: snakemake/[email protected]
29+
with:
30+
directory: .
31+
snakefile: workflow/Snakefile
32+
args: "--lint"
33+
34+
Testing:
35+
runs-on: ubuntu-latest
36+
needs:
37+
- Linting
38+
- Formatting
39+
steps:
40+
- uses: actions/checkout@v2
41+
42+
- name: Test workflow
43+
uses: snakemake/[email protected]
44+
with:
45+
directory: .test
46+
snakefile: workflow/Snakefile
47+
args: "--use-conda --show-failed-logs --cores 3 --conda-cleanup-pkgs cache --all-temp"
48+
49+
- name: Test report
50+
uses: snakemake/[email protected]
51+
with:
52+
directory: .test
53+
snakefile: workflow/Snakefile
54+
args: "--report report.zip"

Diff for: .github/workflows/release-please.yml

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
name: release-please
7+
8+
jobs:
9+
release-please:
10+
runs-on: ubuntu-latest
11+
steps:
12+
13+
- uses: GoogleCloudPlatform/release-please-action@v2
14+
id: release
15+
with:
16+
release-type: go # just keep a changelog, no version anywhere outside of git tags
17+
package-name: <repo>

Diff for: .gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
results/**
2+
resources/**
3+
logs/**
4+
.snakemake
5+
.snakemake/**

Diff for: .snakemake-workflow-catalog.yml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# configuration of display in snakemake workflow catalog: https://snakemake.github.io/snakemake-workflow-catalog
2+
3+
usage:
4+
mandatory-flags: # optional definition of additional flags
5+
desc: # describe your flags here in a few sentences (they will be inserted below the example commands)
6+
flags: # put your flags here
7+
software-stack-deployment: # definition of software deployment method (at least one of conda, singularity, or singularity+conda)
8+
conda: true # whether pipeline works with --use-conda
9+
singularity: false # whether pipeline works with --use-singularity
10+
singularity+conda: false # whether pipeline works with --use-singularity --use-conda
11+
report: true # add this to confirm that the workflow allows to use 'snakemake --report report.zip' to generate a report containing all results and explanations

Diff for: .template/config/config.yaml.tmpl.tmpl

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# add template configuration file (may use variables from copier.yml)

Diff for: .template/workflow/Snakefile.tmpl.tmpl

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
configfile: "config/config.yaml"
2+
3+
module [[ module_name ]]:
4+
snakefile:
5+
# TODO replace <release> with desired release
6+
"https://github.com/[[ owner ]]/[[ repo ]]/raw/<release>/Snakefile"
7+
config:
8+
config
9+
10+
use rule * from [[ module_name ]]

Diff for: LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2021, AUTHORS
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Diff for: README.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Snakemake workflow: `<name>`
2+
3+
[![Snakemake](https://img.shields.io/badge/snakemake-≥6.3.0-brightgreen.svg)](https://snakemake.github.io)
4+
[![GitHub actions status](https://github.com/<owner>/<repo>/workflows/Tests/badge.svg?branch=main)](https://github.com/<owner>/<repo>/actions?query=branch%3Amain+workflow%3ATests)
5+
6+
7+
A Snakemake workflow for `<description>`
8+
9+
10+
## Usage
11+
12+
The usage of this workflow is described in the [Snakemake Workflow Catalog](https://snakemake.github.io/snakemake-workflow-catalog/?usage=<owner>%2F<repo>).
13+
14+
If you use this workflow in a paper, don't forget to give credits to the authors by citing the URL of this (original) <repo>sitory and its DOI (see above).
15+
16+
# TODO
17+
18+
* Replace `<owner>` and `<repo>` everywhere in the template (also under .github/workflows) with the correct `<repo>` name and owning user or organization.
19+
* Replace `<name>` with the workflow name (can be the same as `<repo>`).
20+
* Replace `<description>` with a description of what the workflow does.
21+
* The workflow will occur in the snakemake-workflow-catalog once it has been made public. Then the link under "Usage" will point to the usage instructions if `<owner>` and `<repo>` were correctly set.

Diff for: config/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Describe how to configure the workflow (using config.yaml and maybe additional files).
2+
All of them need to be present with example entries inside of the config folder.

Diff for: workflow/Snakefile

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Main entrypoint of the workflow.
2+
# Please follow the best practices:
3+
# https://snakemake.readthedocs.io/en/stable/snakefiles/best_practices.html,
4+
# in particular regarding the standardized folder structure mentioned there.

0 commit comments

Comments
 (0)