Commit 38c399b0 authored by Chris Cheshire's avatar Chris Cheshire
Browse files

Merge branch 'tamara-samplesheet' into dev

parents b35d3f61 f527a1ad
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -26,9 +26,9 @@ jobs:
        # Nextflow versions
        include:
          # Test pipeline minimum Nextflow version
          - NXF_VER: '21.10.3'
          - NXF_VER: "21.10.3"
          # Test latest nextflow version
          - NXF_VER: ''
          - NXF_VER: ""
    steps:
      - name: Check out pipeline code
        uses: actions/checkout@v2
@@ -70,7 +70,7 @@ jobs:
    strategy:
      matrix:
        # Nextflow versions: check pipeline minimum and current latest
        nxf_ver: ['21.10.3', '']
        nxf_ver: ["21.10.3", ""]
    steps:
      - name: Check out pipeline code
        uses: actions/checkout@v2
@@ -106,7 +106,7 @@ jobs:
    if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/cutandrun') }}
    runs-on: ubuntu-latest
    env:
      NXF_VER: ''
      NXF_VER: ""
      NXF_EDGE: 1
      NXF_ANSI_LOG: false
      CAPSULE_LOG: none
@@ -150,10 +150,10 @@ jobs:
    strategy:
      fail-fast: false
      matrix:
        nxf_version: ['21.10.3', '']
        nxf_version: ["21.10.3", ""]
        tags:
          - params
          - samplesheet
          - test_params
          - test_samplesheet
          - verify_output_save_ref
          - verify_output_only_input
          - verify_output_save_merged
@@ -181,6 +181,7 @@ jobs:
          - test_peak_callers_seacr_macs2
          - test_peak_callers_macs2_seacr
          - test_peak_callers_seacr_macs2_noigg
          - test_peak_callers_ctrl_tests
          - test_conseneus_peaks_group
          - test_conseneus_peaks_all
          - test_conseneus_peaks_invalid
+11 −11
Original line number Diff line number Diff line
@@ -38,23 +38,23 @@ We thank Harshil Patel ([@drpatelh](https://github.com/drpatelh)) and everyone i

### Enhancements & fixes

* Updated pipeline template to nf-core/tools `2.2`
* [[#71](https://github.com/nf-core/cutandrun/issues/71)] - Bumped Nextflow version `21.04.0` -> `21.10.3`
* Added pipeline diagram to [[README](https://github.com/nf-core/cutandrun/blob/master/README.md)]
* Upgraded all modules (local and nf-core) to support the new versioning system
* The module `getchromsizes` was submitted to nf-core and moved from `local` to `nf-core`
* Added support for GFF files in IGV session generation
* [[#57](https://github.com/nf-core/cutandrun/issues/57), [#66](https://github.com/nf-core/cutandrun/issues/66)] - Upgraded version reporting in multiqc to support both software version by module and unique software versions. This improves detection of multi-version software usage in the pipeline
* [[#54](https://github.com/nf-core/cutandrun/issues/54)] - Fixed pipeline error where dots in sample ids inside the sample sheet were not correctly handled
* [[#75](https://github.com/nf-core/cutandrun/issues/75)] - Fixed error caused by emtpy peak files being passed to the `CALCULATE_FRIP` and `CALCULATE_PEAK_REPROD` python reporting modules
* [[#83]](https://github.com/nf-core/cutandrun/issues/83) - Fixed error in violin chart generation with cast to int64
- Updated pipeline template to nf-core/tools `2.2`
- [[#71](https://github.com/nf-core/cutandrun/issues/71)] - Bumped Nextflow version `21.04.0` -> `21.10.3`
- Added pipeline diagram to [[README](https://github.com/nf-core/cutandrun/blob/master/README.md)]
- Upgraded all modules (local and nf-core) to support the new versioning system
- The module `getchromsizes` was submitted to nf-core and moved from `local` to `nf-core`
- Added support for GFF files in IGV session generation
- [[#57](https://github.com/nf-core/cutandrun/issues/57), [#66](https://github.com/nf-core/cutandrun/issues/66)] - Upgraded version reporting in multiqc to support both software version by module and unique software versions. This improves detection of multi-version software usage in the pipeline
- [[#54](https://github.com/nf-core/cutandrun/issues/54)] - Fixed pipeline error where dots in sample ids inside the sample sheet were not correctly handled
- [[#75](https://github.com/nf-core/cutandrun/issues/75)] - Fixed error caused by emtpy peak files being passed to the `CALCULATE_FRIP` and `CALCULATE_PEAK_REPROD` python reporting modules
- [[#83]](https://github.com/nf-core/cutandrun/issues/83) - Fixed error in violin chart generation with cast to int64

### Software dependencies

Note, since the pipeline is now using Nextflow DSL2, each process will be run with its own [Biocontainer](https://biocontainers.pro/#/registry). This means that on occasion it is entirely possible for the pipeline to be using different versions of the same tool. However, the overall software dependency changes compared to the last release have been listed below for reference.

| Dependency | Old version | New version |
|------------|-------------|-------------|
| ---------- | ----------- | ----------- |
| `samtools` | 1.13        | 1.14        |

> **NB:** Dependency has been **updated** if both old and new version information is present.
+12 −12
Original line number Diff line number Diff line
@@ -57,10 +57,10 @@ The pipeline has been developed with continuous integration (CI) in mind. nf-cor

   Note that some form of configuration will be needed so that Nextflow knows how to fetch the required software. This is usually done in the form of a config profile (`YOURPROFILE` in the example command above). You can chain multiple config profiles in a comma-separated string.

    > * The pipeline comes with config profiles called `docker`, `singularity`, `podman`, `shifter`, `charliecloud` and `conda` which instruct the pipeline to use the named tool for software management. For example, `-profile test,docker`.
    > * 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 <institute>` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment.
    > * If you are using `singularity`, please use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to download images first, before running the pipeline. Setting the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options enables you to store and re-use the images from a central location for future pipeline runs.
    > * If you are using `conda`, it is highly recommended to use the [`NXF_CONDA_CACHEDIR` or `conda.cacheDir`](https://www.nextflow.io/docs/latest/conda.html) settings to store the environments in a central location for future pipeline runs.
   > - The pipeline comes with config profiles called `docker`, `singularity`, `podman`, `shifter`, `charliecloud` and `conda` which instruct the pipeline to use the named tool for software management. For example, `-profile test,docker`.
   > - 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 <institute>` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment.
   > - If you are using `singularity`, please use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to download images first, before running the pipeline. Setting the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options enables you to store and re-use the images from a central location for future pipeline runs.
   > - If you are using `conda`, it is highly recommended to use the [`NXF_CONDA_CACHEDIR` or `conda.cacheDir`](https://www.nextflow.io/docs/latest/conda.html) settings to store the environments in a central location for future pipeline runs.

   > - The pipeline comes with config profiles called `docker`, `singularity`, `podman`, `shifter`, `charliecloud` and `conda` which instruct the pipeline to use the named tool for software management. For example, `-profile test,docker`.
   > - 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 <institute>` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment.
@@ -69,7 +69,7 @@ The pipeline has been developed with continuous integration (CI) in mind. nf-cor

4. Start running your own analysis!

    * Typical command for CUT&Run/CUT&Tag analysis:
   - Typical command for CUT&Run/CUT&Tag analysis:

   ```console
   nextflow run nf-core/cutandrun --input samplesheet.csv --outdir <OUTDIR> --genome GRCh37 -profile <docker/singularity/podman/shifter/charliecloud/conda/institute>
+103 −43
Original line number Diff line number Diff line
<html>
  <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />

  <meta name="description" content="nf-core/cutandrun: Analysis pipeline for CUT&RUN and CUT&TAG experiments that includes sequencing QC, spike-in normalisation, IgG control normalisation, peak calling and downstream peak analysis.">
    <meta
      name="description"
      content="nf-core/cutandrun: Analysis pipeline for CUT&RUN and CUT&TAG experiments that includes sequencing QC, spike-in normalisation, IgG control normalisation, peak calling and downstream peak analysis."
    />
    <title>nf-core/cutandrun Pipeline Report</title>
  </head>
  <body>
<div style="font-family: Helvetica, Arial, sans-serif; padding: 30px; max-width: 800px; margin: 0 auto;">

<img src="cid:nfcorepipelinelogo">
    <div style="font-family: Helvetica, Arial, sans-serif; padding: 30px; max-width: 800px; margin: 0 auto">
      <img src="cid:nfcorepipelinelogo" />

      <h1>nf-core/cutandrun v${version}</h1>
      <h2>Run Name: $runName</h2>

<% if (!success){
    out << """
    <div style="color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;">
        <h4 style="margin-top:0; color: inherit;">nf-core/cutandrun execution completed unsuccessfully!</h4>
      <% if (!success){ out << """
      <div
        style="
          color: #a94442;
          background-color: #f2dede;
          border-color: #ebccd1;
          padding: 15px;
          margin-bottom: 20px;
          border: 1px solid transparent;
          border-radius: 4px;
        "
      >
        <h4 style="margin-top: 0; color: inherit">nf-core/cutandrun execution completed unsuccessfully!</h4>
        <p>The exit status of the task that caused the workflow execution to fail was: <code>$exitStatus</code>.</p>
        <p>The full error message was:</p>
        <pre style="white-space: pre-wrap; overflow: visible; margin-bottom: 0;">${errorReport}</pre>
        <pre style="white-space: pre-wrap; overflow: visible; margin-bottom: 0">${errorReport}</pre>
      </div>
    """
} else {
    out << """
    <div style="color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;">
      """ } else { out << """
      <div
        style="
          color: #3c763d;
          background-color: #dff0d8;
          border-color: #d6e9c6;
          padding: 15px;
          margin-bottom: 20px;
          border: 1px solid transparent;
          border-radius: 4px;
        "
      >
        nf-core/cutandrun execution completed successfully!
      </div>
    """
}
%>
      """ } %>

      <p>The workflow was completed at <strong>$dateComplete</strong> (duration: <strong>$duration</strong>)</p>
      <p>The command used to launch the workflow was as follows:</p>
<pre style="white-space: pre-wrap; overflow: visible; background-color: #ededed; padding: 15px; border-radius: 4px; margin-bottom:30px;">$commandLine</pre>
      <pre
        style="
          white-space: pre-wrap;
          overflow: visible;
          background-color: #ededed;
          padding: 15px;
          border-radius: 4px;
          margin-bottom: 30px;
        "
      >
$commandLine</pre
      >

      <h3>Pipeline Configuration:</h3>
<table style="width:100%; max-width:100%; border-spacing: 0; border-collapse: collapse; border:0; margin-bottom: 30px;">
    <tbody style="border-bottom: 1px solid #ddd;">
        <% out << summary.collect{ k,v -> "<tr><th style='text-align:left; padding: 8px 0; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;'>$k</th><td style='text-align:left; padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd;'><pre style='white-space: pre-wrap; overflow: visible;'>$v</pre></td></tr>" }.join("\n") %>
      <table
        style="
          width: 100%;
          max-width: 100%;
          border-spacing: 0;
          border-collapse: collapse;
          border: 0;
          margin-bottom: 30px;
        "
      >
        <tbody style="border-bottom: 1px solid #ddd">
          <% out << summary.collect{ k,v -> "
          <tr>
            <th
              style="
                text-align: left;
                padding: 8px 0;
                line-height: 1.42857143;
                vertical-align: top;
                border-top: 1px solid #ddd;
              "
            >
              $k
            </th>
            <td
              style="
                text-align: left;
                padding: 8px;
                line-height: 1.42857143;
                vertical-align: top;
                border-top: 1px solid #ddd;
              "
            >
              <pre style="white-space: pre-wrap; overflow: visible">$v</pre>
            </td>
          </tr>
          " }.join("\n") %>
        </tbody>
      </table>

      <p>nf-core/cutandrun</p>
      <p><a href="https://github.com/nf-core/cutandrun">https://github.com/nf-core/cutandrun</a></p>

    </div>

  </body>
</html>
+88 −88
Original line number Diff line number Diff line
@@ -24,22 +24,22 @@ run_modules:

module_order:
  - fastqc:
          name: 'FastQC (raw)'
          info: 'This section of the report shows FastQC results before adapter trimming.'
      name: "FastQC (raw)"
      info: "This section of the report shows FastQC results before adapter trimming."
      path_filters:
              - './fastqc/*.zip'
        - "./fastqc/*.zip"
  - cutadapt
  - fastqc:
          name: 'FastQC (trimmed)'
          info: 'This section of the report shows FastQC results after adapter trimming.'
      name: "FastQC (trimmed)"
      info: "This section of the report shows FastQC results after adapter trimming."
      path_filters:
              - './trimgalore/fastqc/*.zip'
        - "./trimgalore/fastqc/*.zip"
  - bowtie2:
          name: 'Bowtie2 (target)'
      name: "Bowtie2 (target)"
      path_filters:
        - "./bowtie2/*.bowtie2.log"
  - bowtie2:
          name: 'Bowtie2 (spike-in)'
      name: "Bowtie2 (spike-in)"
      path_filters:
        - "./bowtie2_spikein/*.bowtie2.log"
  - samtools
@@ -52,8 +52,8 @@ custom_content:
    - software_versions
    - software_versions_unique
extra_fn_clean_exts:
    - '_val_1'
    - '_val_2'
  - "_val_1"
  - "_val_2"
# Don't show % Dups in the General Stats table (we have this from Picard)
table_columns_visible:
  FastQC:
@@ -68,17 +68,17 @@ section_comments:
# Customise the module search patterns to speed up execution time
sp:
  cutadapt:
        fn: '*trimming_report.txt'
    fn: "*trimming_report.txt"

  samtools/stats:
        fn: '*.stats'
    fn: "*.stats"
  samtools/flagstat:
        fn: '*.flagstat'
    fn: "*.flagstat"
  samtools/idxstats:
        fn: '*.idxstats*'
    fn: "*.idxstats*"

  picard/markdups:
        fn: '*.MarkDuplicates.metrics.txt'
    fn: "*.MarkDuplicates.metrics.txt"
  picard/alignment_metrics:
    skip: true
  picard/basedistributionbycycle:
Loading