diff --git a/.circleci/config.yml b/.circleci/config.yml index 39353df167..9f08f2b751 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: environment: GENOME: GRCh37 SNPEFF_CACHE_VERSION: "75" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 steps: - checkout - setup_remote_docker @@ -20,28 +20,28 @@ jobs: environment: GENOME: GRCh38 SNPEFF_CACHE_VERSION: "86" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 snpeffgrcm38: << : *buildsnpeff environment: GENOME: GRCm38 SNPEFF_CACHE_VERSION: "86" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 snpeffcanfam3_1: << : *buildsnpeff environment: GENOME: CanFam3.1 SNPEFF_CACHE_VERSION: "86" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 snpeffwbcel235: << : *buildsnpeff environment: GENOME: WBcel235 SNPEFF_CACHE_VERSION: "86" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 vepgrch37: &buildvep docker: @@ -50,7 +50,7 @@ jobs: GENOME: GRCh37 SPECIES: homo_sapiens VEP_VERSION: "99" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 steps: - checkout - setup_remote_docker @@ -67,7 +67,7 @@ jobs: GENOME: GRCh38 SPECIES: homo_sapiens VEP_VERSION: "99" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 vepgrcm38: << : *buildvep @@ -75,7 +75,7 @@ jobs: GENOME: GRCm38 SPECIES: mus_musculus VEP_VERSION: "99" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 vepcanfam3_1: << : *buildvep @@ -83,7 +83,7 @@ jobs: GENOME: CanFam3.1 SPECIES: canis_familiaris VEP_VERSION: "99" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 vepwbcel235: << : *buildvep @@ -91,7 +91,7 @@ jobs: GENOME: WBcel235 SPECIES: caenorhabditis_elegans VEP_VERSION: "99" - SAREK_TAG: 2.7 + SAREK_TAG: 2.7.1 workflows: version: 2 diff --git a/.github/.dockstore.yml b/.github/.dockstore.yml index 030138a0ca..191fabd22a 100644 --- a/.github/.dockstore.yml +++ b/.github/.dockstore.yml @@ -3,3 +3,4 @@ version: 1.2 workflows: - subclass: nfl primaryDescriptorPath: /nextflow.config + publish: True diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index b53404407d..928a28f84c 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -69,7 +69,7 @@ If you wish to contribute a new step, please use the following coding standards: 2. Write the process block (see below). 3. Define the output channel if needed (see below). 4. Add any new flags/options to `nextflow.config` with a default (see below). -5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build .`) +5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build .`). 6. Add any new flags/options to the help message (for integer/text parameters, print to help the corresponding `nextflow.config` parameter). 7. Add sanity checks for all relevant parameters. 8. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`. @@ -87,7 +87,7 @@ Once there, use `nf-core schema build .` to add to `nextflow_schema.json`. ### Default processes resource requirements -Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/%7B%7Bcookiecutter.name_noslash%7D%7D/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels. +Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels. The process resources can be passed on to the tool dynamically within the process with the `${task.cpu}` and `${task.memory}` variables in the `script:` block. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index cfbeb5b758..2e4d3e9bf3 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -3,8 +3,7 @@ name: Bug report about: Report something that is broken or incorrect title: "[BUG]" labels: bug -assignees: MaxUlysse - +assignees: maxulysse --- +- Engine: - version: -- Image tag: +- Image tag: ## Additional context diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index cdbe339c4d..7e022074b0 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -3,8 +3,7 @@ name: Feature request about: Suggest an idea for the nf-core/sarek pipeline title: "[FEATURE]" labels: enhancement -assignees: MaxUlysse - +assignees: maxulysse --- + ## PR checklist - [ ] This comment contains a description of changes (with reason). - [ ] If you've fixed a bug or added code that should be tested, add tests! - - [ ] If you've added a new tool - add to the software_versions process and a regex to `scrape_software_versions.py` - - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md) - - [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. + - [ ] If you've added a new tool - add to the software_versions process and a regex to `scrape_software_versions.py` + - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/sarek/tree/master/.github/CONTRIBUTING.md) + - [ ] If necessary, also make a PR on the nf-core/sarek _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. - [ ] Make sure your code lints (`nf-core lint .`). - [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`). - [ ] Usage Documentation in `docs/usage.md` is updated. diff --git a/.github/markdownlint.yml b/.github/markdownlint.yml index 4c83590c11..8d7eb53b07 100644 --- a/.github/markdownlint.yml +++ b/.github/markdownlint.yml @@ -5,9 +5,8 @@ no-duplicate-header: siblings_only: true no-inline-html: allowed_elements: - - a - - details - img - - kbd - p + - kbd + - details - summary diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 342dbd3b98..fce6e8967b 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -9,6 +9,16 @@ on: types: [completed] workflow_dispatch: + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} + AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} + AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + + jobs: run-awstest: name: Run AWS full tests @@ -27,13 +37,6 @@ jobs: # Add full size test data (but still relatively small datasets for few samples) # on the `test_full.config` test runs with only one set of parameters # Then specify `-profile test_full` instead of `-profile test` on the AWS batch command - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} run: | aws batch submit-job \ --region eu-west-1 \ diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index 55dda96ff3..089783ed4c 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -6,6 +6,16 @@ name: nf-core AWS test on: workflow_dispatch: + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} + AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} + AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + + jobs: run-awstest: name: Run AWS tests @@ -20,13 +30,9 @@ jobs: - name: Install awscli run: conda install -c conda-forge awscli - name: Start AWS batch job - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + # TODO nf-core: You can customise CI pipeline run tests as required + # For example: adding multiple test runs with different parameters + # Remember that you can parallelise this by using strategy.matrix run: | aws batch submit-job \ --region eu-west-1 \ diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml index 928cb6ac57..d1d6ea382e 100644 --- a/.github/workflows/branch.yml +++ b/.github/workflows/branch.yml @@ -13,7 +13,7 @@ jobs: - name: Check PRs if: github.repository == 'nf-core/sarek' run: | - { [[ ${{github.event.pull_request.head.repo.full_name}} == nf-core/sarek ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]] + { [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/sarek ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]] # If the above check failed, post a comment on the PR explaining the failure @@ -23,14 +23,24 @@ jobs: uses: mshick/add-pr-comment@v1 with: message: | + ## This PR is against the `master` branch :x: + + * Do not close this PR + * Click _Edit_ and change the `base` to `dev` + * This CI test will remain failed until you push a new commit + + --- + Hi @${{ github.event.pull_request.user.login }}, - It looks like this pull-request is has been made against the ${{github.event.pull_request.head.repo.full_name}} `master` branch. + It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `master` branch. The `master` branch on nf-core repositories should always contain code from the latest release. - Because of this, PRs to `master` are only allowed if they come from the ${{github.event.pull_request.head.repo.full_name}} `dev` branch. + Because of this, PRs to `master` are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch. You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page. + Note that even after this, the test will continue to show as failing until you push a new commit. Thanks again for your contribution! repo-token: ${{ secrets.GITHUB_TOKEN }} allow-repeats: false + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index db0273fb2a..36caab43b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,9 @@ on: release: types: [published] +# Uncomment if we need an edge release of Nextflow again +# env: NXF_EDGE: 1 + jobs: test: name: Run workflow tests @@ -33,13 +36,13 @@ jobs: environment.yml - name: Build new docker image if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/sarek:2.7 + run: docker build --no-cache . -t nfcore/sarek:2.7.1 - name: Pull docker image if: ${{ !env.MATCHED_FILES }} run: | docker pull nfcore/sarek:dev - docker tag nfcore/sarek:dev nfcore/sarek:2.7 + docker tag nfcore/sarek:dev nfcore/sarek:2.7.1 - name: Install Nextflow env: @@ -71,8 +74,8 @@ jobs: NXF_VER: '20.04.0' - name: Pull docker image run: | - docker pull nfcore/sarek:2.7 - docker pull nfcore/sarek${{ matrix.tools }}:2.7.${{ matrix.species }} + docker pull nfcore/sarek:2.7.1 + docker pull nfcore/sarek${{ matrix.tools }}:2.7.1.${{ matrix.species }} - name: Run annotation test run: nextflow run ${GITHUB_WORKSPACE} -profile test_annotation,docker --tools ${{ matrix.tools }} @@ -93,7 +96,7 @@ jobs: # Only check Nextflow pipeline minimum version NXF_VER: '20.04.0' - name: Pull docker image - run: docker pull nfcore/sarek:2.7 + run: docker pull nfcore/sarek:2.7.1 - name: Get test data run: git clone --single-branch --branch sarek https://github.com/nf-core/test-datasets.git data - name: Run germline test @@ -121,9 +124,9 @@ jobs: # Only check Nextflow pipeline minimum version NXF_VER: '20.04.0' - name: Pull docker image - run: docker pull nfcore/sarek:2.7 + run: docker pull nfcore/sarek:2.7.1 - name: Run test for minimal genomes - run: nextflow run ${GITHUB_WORKSPACE} -profile test,docker --skipQC all --genome ${{ matrix.genome }} ${{ matrix.intervals }} --tools Manta,mpileup,Strelka,FreeBayes + run: nextflow run ${GITHUB_WORKSPACE} -profile test,docker --skip_qc all --genome ${{ matrix.genome }} ${{ matrix.intervals }} --tools Manta,mpileup,Strelka,FreeBayes profile: env: @@ -142,7 +145,7 @@ jobs: # Only check Nextflow pipeline minimum version NXF_VER: '20.04.0' - name: Pull docker image - run: docker pull nfcore/sarek:2.7 + run: docker pull nfcore/sarek:2.7.1 - name: Run ${{ matrix.profile }} test run: nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.profile }},docker @@ -163,7 +166,7 @@ jobs: # Only check Nextflow pipeline minimum version NXF_VER: '20.04.0' - name: Pull docker image - run: docker pull nfcore/sarek:2.7 + run: docker pull nfcore/sarek:2.7.1 - name: Run ${{ matrix.profile }} test run: nextflow run ${GITHUB_WORKSPACE} -profile test,docker --aligner ${{ matrix.aligner }} @@ -194,6 +197,6 @@ jobs: # Only check Nextflow pipeline minimum version NXF_VER: '20.04.0' - name: Pull docker image - run: docker pull nfcore/sarek:2.7 + run: docker pull nfcore/sarek:2.7.1 - name: Run ${{ matrix.tool }} test - run: nextflow run ${GITHUB_WORKSPACE} -profile test_tool,docker --tools ${{ matrix.tool }} ${{ matrix.intervals }} + run: nextflow run ${GITHUB_WORKSPACE} -profile test_tool,docker --tools ${{ matrix.tool }} ${{ matrix.intervals }} \ No newline at end of file diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 6f2be6b087..fcde400ced 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -19,6 +19,34 @@ jobs: run: npm install -g markdownlint-cli - name: Run Markdownlint run: markdownlint ${GITHUB_WORKSPACE} -c ${GITHUB_WORKSPACE}/.github/markdownlint.yml + + # If the above check failed, post a comment on the PR explaining the failure + - name: Post PR comment + if: failure() + uses: mshick/add-pr-comment@v1 + with: + message: | + ## Markdown linting is failing + + To keep the code consistent with lots of contributors, we run automated code consistency checks. + To fix this CI test, please run: + + * Install `markdownlint-cli` + * On Mac: `brew install markdownlint-cli` + * Everything else: [Install `npm`](https://www.npmjs.com/get-npm) then [install `markdownlint-cli`](https://www.npmjs.com/package/markdownlint-cli) (`npm install -g markdownlint-cli`) + * Fix the markdown errors + * Automatically: `markdownlint . --config .github/markdownlint.yml --fix` + * Manually resolve anything left from `markdownlint . --config .github/markdownlint.yml` + + Once you push these changes the test should pass, and you can hide this comment :+1: + + We highly recommend setting up markdownlint in your code editor so that this formatting is done automatically on save. Ask about it on Slack for help! + + Thanks again for your contribution! + repo-token: ${{ secrets.GITHUB_TOKEN }} + allow-repeats: false + + YAML: runs-on: ubuntu-latest steps: @@ -29,7 +57,34 @@ jobs: - name: Install yaml-lint run: npm install -g yaml-lint - name: Run yaml-lint - run: yamllint $(find ${GITHUB_WORKSPACE} -type f -name "*.yml") + run: yamllint $(find ${GITHUB_WORKSPACE} -type f -name "*.yml" -o -name "*.yaml") + + # If the above check failed, post a comment on the PR explaining the failure + - name: Post PR comment + if: failure() + uses: mshick/add-pr-comment@v1 + with: + message: | + ## YAML linting is failing + + To keep the code consistent with lots of contributors, we run automated code consistency checks. + To fix this CI test, please run: + + * Install `yaml-lint` + * [Install `npm`](https://www.npmjs.com/get-npm) then [install `yaml-lint`](https://www.npmjs.com/package/yaml-lint) (`npm install -g yaml-lint`) + * Fix the markdown errors + * Run the test locally: `yamllint $(find . -type f -name "*.yml" -o -name "*.yaml")` + * Fix any reported errors in your YAML files + + Once you push these changes the test should pass, and you can hide this comment :+1: + + We highly recommend setting up yaml-lint in your code editor so that this formatting is done automatically on save. Ask about it on Slack for help! + + Thanks again for your contribution! + repo-token: ${{ secrets.GITHUB_TOKEN }} + allow-repeats: false + + nf-core: runs-on: ubuntu-latest steps: @@ -69,8 +124,9 @@ jobs: if: ${{ always() }} uses: actions/upload-artifact@v2 with: - name: linting-log-file + name: linting-logs path: | lint_log.txt lint_results.md PR_number.txt + diff --git a/.gitignore b/.gitignore index 3e06a523e1..7620ce70a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,10 @@ *.code-workspace -*.pyc -.DS_Store .nextflow* +work/ data/ -references/ results/ -testing* -testing/ +.DS_Store tests/ -work/ +testing/ +testing* +*.pyc diff --git a/.nf-core-lint.yml b/.nf-core-lint.yml new file mode 100644 index 0000000000..7e6a595c7e --- /dev/null +++ b/.nf-core-lint.yml @@ -0,0 +1,6 @@ +files_unchanged: + - .github/ISSUE_TEMPLATE/bug_report.md + - .github/ISSUE_TEMPLATE/feature_request.md + - .github/PULL_REQUEST_TEMPLATE.md + - assets/nf-core-sarek_logo.png + - docs/images/nf-core-sarek_logo.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 3db854e7a0..d8dfae1c14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.7.1](https://github.com/nf-core/sarek/releases/tag/2.7.1) - Pårtejekna + +Pårtejekna is one of glaciers of the Pårte Massif. + +### Added + +- [#353](https://github.com/nf-core/sarek/pull/353) - Add support for task retries with exit code 247 (exhibited by `Picard MarkDuplicates`) +- [#354](https://github.com/nf-core/sarek/pull/354) - Add tumor only mode for `Mutect2` and `MSIsensor` +- [#356](https://github.com/nf-core/sarek/pull/356) - Add `--cf_contamination_adjustment` params to adjust contamination with `Control-FREEC` +- [#372](https://github.com/nf-core/sarek/pull/372) - Add `--cf_contamination` params to specify contamination value with `Control-FREEC` + +### Changed + +- [#373](https://github.com/nf-core/sarek/pull/373) - Sync `TEMPLATE` with `tools` 1.14 +- [#376](https://github.com/nf-core/sarek/pull/376) - Better logo on Github dark Mode +- [#387](https://github.com/nf-core/sarek/pull/387) - Fix tables for TSV file content + +### Fixed + +- [#375](https://github.com/nf-core/sarek/pull/375), [#381](https://github.com/nf-core/sarek/pull/381), [#382](https://github.com/nf-core/sarek/pull/382), [#385](https://github.com/nf-core/sarek/pull/385) - Fix bugs due to `TEMPLATE` sync from [#373](https://github.com/nf-core/sarek/pull/373) +- [#378](https://github.com/nf-core/sarek/pull/378) - Fix `Spark` related issue due to `Docker` settings in `nextflow.config` +- [#378](https://github.com/nf-core/sarek/pull/378) - Fix `Spark` related issue due to `Docker` settings in `nextflow.config` + +### Deprecated + +### Removed + +- [#368](https://github.com/nf-core/sarek/pull/368) - Remove social preview image to use GitHub OpenGraph + ## [2.7](https://github.com/nf-core/sarek/releases/tag/2.7) - Pårte Pårte is one of the main massif in the Sarek National Park. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 405fb1bfd7..f4fd052f1f 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,46 +1,111 @@ -# Contributor Covenant Code of Conduct +# Code of Conduct at nf-core (v1.0) ## Our Pledge -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. +In the interest of fostering an open, collaborative, and welcoming environment, we as contributors and maintainers of nf-core, pledge to making participation in our projects and community a harassment-free experience for everyone, regardless of: -## Our Standards +- Age +- Body size +- Familial status +- Gender identity and expression +- Geographical location +- Level of experience +- Nationality and national origins +- Native language +- Physical and neurological ability +- Race or ethnicity +- Religion +- Sexual identity and orientation +- Socioeconomic status -Examples of behavior that contributes to creating a positive environment include: +Please note that the list above is alphabetised and is therefore not ranked in any order of preference or importance. -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +## Preamble -Examples of unacceptable behavior by participants include: +> Note: This Code of Conduct (CoC) has been drafted by the nf-core Safety Officer and been edited after input from members of the nf-core team and others. "We", in this document, refers to the Safety Officer and members of the nf-core core team, both of whom are deemed to be members of the nf-core community and are therefore required to abide by this Code of Conduct. This document will amended periodically to keep it up-to-date, and in case of any dispute, the most current version will apply. -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting +An up-to-date list of members of the nf-core core team can be found [here](https://nf-co.re/about). Our current safety officer is Renuka Kudva. + +nf-core is a young and growing community that welcomes contributions from anyone with a shared vision for [Open Science Policies](https://www.fosteropenscience.eu/taxonomy/term/8). Open science policies encompass inclusive behaviours and we strive to build and maintain a safe and inclusive environment for all individuals. + +We have therefore adopted this code of conduct (CoC), which we require all members of our community and attendees in nf-core events to adhere to in all our workspaces at all times. Workspaces include but are not limited to Slack, meetings on Zoom, Jitsi, YouTube live etc. + +Our CoC will be strictly enforced and the nf-core team reserve the right to exclude participants who do not comply with our guidelines from our workspaces and future nf-core activities. + +We ask all members of our community to help maintain a supportive and productive workspace and to avoid behaviours that can make individuals feel unsafe or unwelcome. Please help us maintain and uphold this CoC. + +Questions, concerns or ideas on what we can include? Contact safety [at] nf-co [dot] re ## Our Responsibilities -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. +The safety officer is responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behaviour. + +The safety officer in consultation with the nf-core core team have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +Members of the core team or the safety officer who violate the CoC will be required to recuse themselves pending investigation. They will not have access to any reports of the violations and be subject to the same actions as others in violation of the CoC. + +## When are where does this Code of Conduct apply? + +Participation in the nf-core community is contingent on following these guidelines in all our workspaces and events. This includes but is not limited to the following listed alphabetically and therefore in no order of preference: + +- Communicating with an official project email address. +- Communicating with community members within the nf-core Slack channel. +- Participating in hackathons organised by nf-core (both online and in-person events). +- Participating in collaborative work on GitHub, Google Suite, community calls, mentorship meetings, email correspondence. +- Participating in workshops, training, and seminar series organised by nf-core (both online and in-person events). This applies to events hosted on web-based platforms such as Zoom, Jitsi, YouTube live etc. +- Representing nf-core on social media. This includes both official and personal accounts. + +## nf-core cares 😊 + +nf-core's CoC and expectations of respectful behaviours for all participants (including organisers and the nf-core team) include but are not limited to the following (listed in alphabetical order): + +- Ask for consent before sharing another community member’s personal information (including photographs) on social media. +- Be respectful of differing viewpoints and experiences. We are all here to learn from one another and a difference in opinion can present a good learning opportunity. +- Celebrate your accomplishments at events! (Get creative with your use of emojis 🎉 🥳 💯 🙌 !) +- Demonstrate empathy towards other community members. (We don’t all have the same amount of time to dedicate to nf-core. If tasks are pending, don’t hesitate to gently remind members of your team. If you are leading a task, ask for help if you feel overwhelmed.) +- Engage with and enquire after others. (This is especially important given the geographically remote nature of the nf-core community, so let’s do this the best we can) +- Focus on what is best for the team and the community. (When in doubt, ask) +- Graciously accept constructive criticism, yet be unafraid to question, deliberate, and learn. +- Introduce yourself to members of the community. (We’ve all been outsiders and we know that talking to strangers can be hard for some, but remember we’re interested in getting to know you and your visions for open science!) +- Show appreciation and **provide clear feedback**. (This is especially important because we don’t see each other in person and it can be harder to interpret subtleties. Also remember that not everyone understands a certain language to the same extent as you do, so **be clear in your communications to be kind.**) +- Take breaks when you feel like you need them. +- Using welcoming and inclusive language. (Participants are encouraged to display their chosen pronouns on Zoom or in communication on Slack.) + +## nf-core frowns on 😕 + +The following behaviours from any participants within the nf-core community (including the organisers) will be considered unacceptable under this code of conduct. Engaging or advocating for any of the following could result in expulsion from nf-core workspaces. + +- Deliberate intimidation, stalking or following and sustained disruption of communication among participants of the community. This includes hijacking shared screens through actions such as using the annotate tool in conferencing software such as Zoom. +- “Doxing” i.e. posting (or threatening to post) another person’s personal identifying information online. +- Spamming or trolling of individuals on social media. +- Use of sexual or discriminatory imagery, comments, or jokes and unwelcome sexual attention. +- Verbal and text comments that reinforce social structures of domination related to gender, gender identity and expression, sexual orientation, ability, physical appearance, body size, race, age, religion or work experience. + +### Online Trolling + +The majority of nf-core interactions and events are held online. Unfortunately, holding events online comes with the added issue of online trolling. This is unacceptable, reports of such behaviour will be taken very seriously, and perpetrators will be excluded from activities immediately. + +All community members are required to ask members of the group they are working within for explicit consent prior to taking screenshots of individuals during video calls. + +## Procedures for Reporting CoC violations -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. +If someone makes you feel uncomfortable through their behaviours or actions, report it as soon as possible. -## Scope +You can reach out to members of the [nf-core core team](https://nf-co.re/about) and they will forward your concerns to the safety officer(s). -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. +Issues directly concerning members of the core team will be dealt with by other members of the core team and the safety manager, and possible conflicts of interest will be taken into account. nf-core is also in discussions about having an ombudsperson, and details will be shared in due course. -## Enforcement +All reports will be handled with utmost discretion and confidentially. -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. +## Attribution and Acknowledgements -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. +- The [Contributor Covenant, version 1.4](http://contributor-covenant.org/version/1/4) +- The [OpenCon 2017 Code of Conduct](http://www.opencon2017.org/code_of_conduct) (CC BY 4.0 OpenCon organisers, SPARC and Right to Research Coalition) +- The [eLife innovation sprint 2020 Code of Conduct](https://sprint.elifesciences.org/code-of-conduct/) +- The [Mozilla Community Participation Guidelines v3.1](https://www.mozilla.org/en-US/about/governance/policies/participation/) (version 3.1, CC BY-SA 3.0 Mozilla) -## Attribution +## Changelog -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct/][version] +### v1.0 - March 12th, 2021 -[homepage]: https://contributor-covenant.org -[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct/ +- Complete rewrite from original [Contributor Covenant](http://contributor-covenant.org/) CoC. diff --git a/Dockerfile b/Dockerfile index 7531851725..9dd5479901 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nfcore/base:1.12.1 +FROM nfcore/base:1.14 LABEL authors="Maxime Garcia, Szilveszter Juhos" \ description="Docker image containing all software requirements for the nf-core/sarek pipeline" @@ -7,11 +7,7 @@ COPY environment.yml / RUN conda env create --quiet -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-sarek-2.7/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-sarek-2.7.1/bin:$PATH # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-sarek-2.7 > nf-core-sarek-2.7.yml - -# Instruct R processes to use these empty files instead of clashing with a local version -RUN touch .Rprofile -RUN touch .Renviron +RUN conda env export --name nf-core-sarek-2.7.1 > nf-core-sarek-2.7.1.yml \ No newline at end of file diff --git a/README.md b/README.md index 14546f22b6..32ab8dda05 100644 --- a/README.md +++ b/README.md @@ -30,24 +30,24 @@ It's listed on [Elixir - Tools and Data Services Registry](https://bio.tools/nf- ## Quick Start -1. Install [`Nextflow`](https://nf-co.re/usage/installation) +1. Install [`Nextflow`](https://nf-co.re/usage/installation) (`>=20.04.0`) -2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) or [`Podman`](https://podman.io/) 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 any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) 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))_ 3. Download the pipeline and test it on a minimal dataset with a single command: ```bash - nextflow run nf-core/sarek -profile test, + nextflow run nf-core/sarek -profile test, ``` > 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 ` in your command. - This will enable either `Docker` or `Singularity` and set the appropriate execution settings for your local compute environment. + > If so, you can simply use `-profile ` in your command. + > This will enable either `Docker` or `Singularity` and set the appropriate execution settings for your local compute environment. 4. Start running your own analysis! ```bash - nextflow run nf-core/sarek -profile --input '*.tsv' --genome GRCh38 + nextflow run nf-core/sarek -profile --input '*.tsv' --genome GRCh38 ``` See [usage docs](https://nf-co.re/sarek/usage) for all of the available options when running the pipeline. @@ -76,7 +76,7 @@ Sarek was developed at the [National Genomics Infastructure](https://ngisweden.s Main authors: * [Gisela Gabernet](https://github.com/ggabernet) -* [Maxime Garcia](https://github.com/MaxUlysse) +* [Maxime Garcia](https://github.com/maxulysse) * [Friederike Hanssen](https://github.com/FriederikeHanssen) * [Szilveszter Juhos](https://github.com/szilvajuhos) @@ -134,7 +134,7 @@ If you use `nf-core/sarek` for your analysis, please cite the `Sarek` article as You can cite the sarek zenodo record for a specific version using the following [doi: 10.5281/zenodo.3476426](https://zenodo.org/badge/latestdoi/184289291) -An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file. +In addition, references of tools and data used in this pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file. You can cite the `nf-core` publication as follows: @@ -143,4 +143,3 @@ You can cite the `nf-core` publication as follows: > Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen. > > _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) diff --git a/assets/email_template.html b/assets/email_template.html index 1d069c4254..36a9983efd 100644 --- a/assets/email_template.html +++ b/assets/email_template.html @@ -1,6 +1,5 @@ - diff --git a/assets/multiqc_config.yaml b/assets/multiqc_config.yaml index 2865e59a99..e0be918579 100644 --- a/assets/multiqc_config.yaml +++ b/assets/multiqc_config.yaml @@ -5,7 +5,7 @@ custom_logo_title: 'nf-core/sarek' report_comment: > This report has been generated by the nf-core/sarek analysis pipeline. For information about how to interpret these results, please see the - documentation. + documentation. report_section_order: software_versions: order: -1000 diff --git a/assets/nf-core-sarek_logo.png b/assets/nf-core-sarek_logo.png index 6a7c8fc38f..c543cf7d5b 100644 Binary files a/assets/nf-core-sarek_logo.png and b/assets/nf-core-sarek_logo.png differ diff --git a/assets/nf-core-sarek_social_preview.png b/assets/nf-core-sarek_social_preview.png deleted file mode 100644 index ed11f7fab5..0000000000 Binary files a/assets/nf-core-sarek_social_preview.png and /dev/null differ diff --git a/assets/nf-core-sarek_social_preview.svg b/assets/nf-core-sarek_social_preview.svg deleted file mode 100644 index d375975fa0..0000000000 --- a/assets/nf-core-sarek_social_preview.svg +++ /dev/null @@ -1,889 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - An open-source analysis pipeline to detect germline orsomatic variants from whole genome or targeted sequencing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/markdown_to_html.py b/bin/markdown_to_html.py index c1e1d1669c..a26d1ff5e6 100755 --- a/bin/markdown_to_html.py +++ b/bin/markdown_to_html.py @@ -6,6 +6,7 @@ import sys import io + def convert_markdown(in_fn): input_md = io.open(in_fn, mode="r", encoding="utf-8").read() html = markdown.markdown( @@ -19,6 +20,7 @@ def convert_markdown(in_fn): ) return html + def wrap_html(contents): header = """ @@ -68,6 +70,7 @@ def wrap_html(contents): """ return header + contents + footer + def parse_args(args=None): parser = argparse.ArgumentParser() parser.add_argument("mdfile", type=argparse.FileType("r"), nargs="?", help="File to convert. Defaults to stdin.") @@ -76,11 +79,13 @@ def parse_args(args=None): ) return parser.parse_args(args) + def main(args=None): args = parse_args(args) converted_md = convert_markdown(args.mdfile.name) html = wrap_html(converted_md) args.out.write(html) + if __name__ == "__main__": sys.exit(main()) diff --git a/conf/base.config b/conf/base.config index c7392fdf62..77802f6f9a 100644 --- a/conf/base.config +++ b/conf/base.config @@ -15,7 +15,7 @@ process { time = {check_resource(24.h * task.attempt)} shell = ['/bin/bash', '-euo', 'pipefail'] - errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish' } + errorStrategy = { task.exitStatus in [143,137,104,134,139,247] ? 'retry' : 'finish' } maxErrors = '-1' maxRetries = 3 @@ -90,11 +90,14 @@ process { errorStrategy = {task.exitStatus == 143 ? 'retry' : 'ignore'} } withName:Snpeff { - container = {(params.annotation_cache && params.snpeff_cache) ? 'nfcore/sarek:2.7' : "nfcore/sareksnpeff:2.7.${params.genome}"} + container = {(params.annotation_cache && params.snpeff_cache) ? 'nfcore/sarek:2.7.1' : "nfcore/sareksnpeff:2.7.1.${params.genome}"} errorStrategy = {task.exitStatus == 143 ? 'retry' : 'ignore'} } withLabel:VEP { - container = {(params.annotation_cache && params.vep_cache) ? 'nfcore/sarek:2.7' : "nfcore/sarekvep:2.7.${params.genome}"} + container = {(params.annotation_cache && params.vep_cache) ? 'nfcore/sarek:2.7.1' : "nfcore/sarekvep:2.7.1.${params.genome}"} errorStrategy = {task.exitStatus == 143 ? 'retry' : 'ignore'} } + withLabel:msisensor { + container = "quay.io/biocontainers/msisensor-pro:1.1.a--hb3646a4_0" + } } diff --git a/conf/test.config b/conf/test.config index f7313e34b9..277c966743 100644 --- a/conf/test.config +++ b/conf/test.config @@ -26,15 +26,18 @@ params { snpeff_db = 'WBcel235.86' species = 'caenorhabditis_elegans' vep_cache_version = '99' + + // Ignore `--input` as otherwise the parameter validation will throw an error + schema_ignore_params = 'genomes,input' } process { withName:Snpeff { - container = 'nfcore/sareksnpeff:2.7.WBcel235' + container = 'nfcore/sareksnpeff:2.7.1.WBcel235' maxForks = 1 } withLabel:VEP { - container = 'nfcore/sarekvep:2.7.WBcel235' + container = 'nfcore/sarekvep:2.7.1.WBcel235' maxForks = 1 } } diff --git a/conf/test_full.config b/conf/test_full.config index cfbfe30ede..74b118ef36 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -19,4 +19,6 @@ params { ['Testdata', ['https://github.com/nf-core/test-datasets/raw/exoseq/testdata/Testdata_R1.tiny.fastq.gz', 'https://github.com/nf-core/test-datasets/raw/exoseq/testdata/Testdata_R2.tiny.fastq.gz']], ['SRR389222', ['https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub1.fastq.gz', 'https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub2.fastq.gz']] ] + // Ignore `--input` as otherwise the parameter validation will throw an error + schema_ignore_params = 'genomes,input_paths,input' } diff --git a/containers/snpeff/Dockerfile b/containers/snpeff/Dockerfile index dac706400c..ce981ecea3 100644 --- a/containers/snpeff/Dockerfile +++ b/containers/snpeff/Dockerfile @@ -9,7 +9,7 @@ COPY environment.yml / RUN conda env create -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-sarek-snpeff-2.7/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-sarek-snpeff-2.7.1/bin:$PATH # Setup default ARG variables ARG GENOME=GRCh38 @@ -19,4 +19,4 @@ ARG SNPEFF_CACHE_VERSION=86 RUN snpEff download -v ${GENOME}.${SNPEFF_CACHE_VERSION} # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-sarek-snpeff-2.7 > nf-core-sarek-snpeff-2.7.yml +RUN conda env export --name nf-core-sarek-snpeff-2.7.1 > nf-core-sarek-snpeff-2.7.1.yml diff --git a/containers/snpeff/environment.yml b/containers/snpeff/environment.yml index 29e2a0d40f..225c2e21df 100644 --- a/containers/snpeff/environment.yml +++ b/containers/snpeff/environment.yml @@ -1,6 +1,6 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -name: nf-core-sarek-snpeff-2.7 +name: nf-core-sarek-snpeff-2.7.1 channels: - conda-forge - bioconda diff --git a/containers/vep/Dockerfile b/containers/vep/Dockerfile index 6f0e927ce6..965ce356dd 100644 --- a/containers/vep/Dockerfile +++ b/containers/vep/Dockerfile @@ -9,7 +9,7 @@ COPY environment.yml / RUN conda env create -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-sarek-vep-2.7/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-sarek-vep-2.7.1/bin:$PATH # Setup default ARG variables ARG GENOME=GRCh38 @@ -27,4 +27,4 @@ RUN vep_install \ --NO_BIOPERL --NO_HTSLIB --NO_TEST --NO_UPDATE # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-sarek-vep-2.7 > nf-core-sarek-vep-2.7.yml +RUN conda env export --name nf-core-sarek-vep-2.7.1 > nf-core-sarek-vep-2.7.1.yml diff --git a/containers/vep/environment.yml b/containers/vep/environment.yml index 701a70b561..63fd3bba93 100644 --- a/containers/vep/environment.yml +++ b/containers/vep/environment.yml @@ -1,6 +1,6 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -name: nf-core-sarek-vep-2.7 +name: nf-core-sarek-vep-2.7.1 channels: - conda-forge - bioconda diff --git a/docs/images/nf-core-sarek_logo.png b/docs/images/nf-core-sarek_logo.png index 6a7c8fc38f..c543cf7d5b 100644 Binary files a/docs/images/nf-core-sarek_logo.png and b/docs/images/nf-core-sarek_logo.png differ diff --git a/docs/images/nf-core-sarek_logo.svg b/docs/images/nf-core-sarek_logo.svg index 547e0839e9..7472ae81b4 100644 --- a/docs/images/nf-core-sarek_logo.svg +++ b/docs/images/nf-core-sarek_logo.svg @@ -7,11 +7,12 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="411.34305" - height="177.58202" - viewBox="0 0 385.63409 166.48314" + width="500" + height="200" + viewBox="0 0 468.74998 187.5" id="svg4924" version="1.1" inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" @@ -145,6 +146,13 @@ offset="1" id="stop20" /> + @@ -178,7 +186,7 @@ image/svg+xml - + @@ -187,65 +195,77 @@ id="layer4" inkscape:label="Sarek" style="display:inline" - transform="translate(-15.436598,82.468416)"> + transform="translate(22.063401,94.110284)"> + + + + + + + + + id="g980"> - - - - - - - - - - - - - + transform="translate(3.290425,-1.1334389)" + id="g603"> + + + + + @@ -344,7 +364,7 @@ id="path563" inkscape:connector-curvature="0" /> diff --git a/docs/images/sarek_workflow.png b/docs/images/sarek_workflow.png index 64eea65ae0..6111945bed 100644 Binary files a/docs/images/sarek_workflow.png and b/docs/images/sarek_workflow.png differ diff --git a/docs/images/sarek_workflow.svg b/docs/images/sarek_workflow.svg index 3878728c35..6e563c9a99 100644 --- a/docs/images/sarek_workflow.svg +++ b/docs/images/sarek_workflow.svg @@ -2147,10 +2147,10 @@ id="namedview4" showgrid="false" inkscape:zoom="0.5" - inkscape:cx="114.19569" + inkscape:cx="-231.80431" inkscape:cy="904.42745" inkscape:window-x="0" - inkscape:window-y="1080" + inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="g2380" units="mm" @@ -2177,10 +2177,7 @@ y="-2749.4028" x="866.00854" /> -<<<<<<< HEAD -======= ->>>>>>> 1b8ea037a6bbe6d13e6227e2f511ade14ee6d128 -<<<<<<< HEAD -======= ->>>>>>> 1b8ea037a6bbe6d13e6227e2f511ade14ee6d128 -<<<<<<< HEAD -======= ->>>>>>> 1b8ea037a6bbe6d13e6227e2f511ade14ee6d128 Preprocessing -<<<<<<< HEAD -======= ->>>>>>> 1b8ea037a6bbe6d13e6227e2f511ade14ee6d128 Annotation -<<<<<<< HEAD -======= ->>>>>>> 1b8ea037a6bbe6d13e6227e2f511ade14ee6d128 Reports -<<<<<<< HEAD -======= ->>>>>>> 1b8ea037a6bbe6d13e6227e2f511ade14ee6d128 2.72.7.1 -<<<<<<< HEAD -======= ->>>>>>> 1b8ea037a6bbe6d13e6227e2f511ade14ee6d128