nf-aggregate

Pipeline to aggregate pertinent metrics across pipeline runs on the Seqera Platform (beta)

https://github.com/seqeralabs/nf-aggregate

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

nextflow pipeline qc seqera workflow
Last synced: 6 months ago · JSON representation ·

Repository

Pipeline to aggregate pertinent metrics across pipeline runs on the Seqera Platform (beta)

Basic Info
  • Host: GitHub
  • Owner: seqeralabs
  • License: mpl-2.0
  • Language: HTML
  • Default Branch: main
  • Homepage: https://seqera.io/
  • Size: 2.97 MB
Statistics
  • Stars: 8
  • Watchers: 6
  • Forks: 10
  • Open Issues: 10
  • Releases: 7
Topics
nextflow pipeline qc seqera workflow
Created over 2 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

seqeralabs/nf-aggregate

GitHub Actions CI Status GitHub Actions Linting Status nf-test

Nextflow nf-core template version run with conda run with docker run with singularity Launch on Seqera Platform

Introduction

seqeralabs/nf-aggregate is a Nextflow pipeline to aggregate pertinent metrics across pipeline runs on the Seqera Platform.

MultiQC screenshot

The pipeline performs the following steps:

  1. Downloads run information via the Seqera CLI in parallel
  2. Runs MultiQC to aggregate all of the run metrics into a single report

You can download an example MultiQC report here.

Prerequisites

  • Nextflow >=23.10.0
  • Account in Seqera Platform
  • Access token which is your personal authorization token for the Seqera Platform CLI. This can be created in the user menu under Your tokens. Export the token as a shell variable directly into your terminal if running the pipelie locally. You will not need to set this if running the pipeline within the Seqera Platform as it will automatically be inherited from the executing environment.

bash export TOWER_ACCESS_TOKEN=<your access token>

Usage

The primary input to the pipeline is a file containing a list of run identifiers from the Seqera Platform. These can be obtained from details in the runs page for any pipeline execution. For example, we can create a file called run_ids.csv with the following contents:

id,workspace 4Bi5xBK6E2Nbhj,community/showcase 4LWT4uaXDaGcDY,community/showcase 38QXz4OfQDpwOV,community/showcase 2lXd1j7OwZVfxh,community/showcase

This pipeline can then be executed with the following command:

nextflow run seqeralabs/nf-aggregate \ --input run_ids.csv \ --outdir ./results \ -profile docker

If you are using a Seqera Platform Enterprise instance that is secured with a private CA SSL certificate not recognized by default Java certificate authorities, you can specify a custom cacerts store path through the --java_truststore_path parameter and optionally, a password with the --java_truststore_password. This certificate will be used to achieve connectivity with your Seqera Platform instance through API and CLI.

Benchmark reports

If you want to generate a benchmark report comparing multiple runs, you can include a group column in your run_ids.csv file. This allows you to organize and analyze runs based on custom groupings in the final report.

id,workspace,group 3VcLMAI8wyy0Ld,community/showcase,group1 4VLRs7nuqbAhDy,community/showcase,group2

Use logs from an external Seqera Platform deployment

Sometimes we want to compile benchmark reports from runs from two different Seqera platform deployments, for example a dev and a production environment to compare performance. External logs in nf-aggregate can be used by specifying the workspace as external and providing some additional optional columns that point to the log folder and specify whether these external logs contain fusion logs (did you export them with the --add-fusion-logs flag in your tw run dumps. If they do contain fusion logs, you can generate a gannt plot for them, as for runs supplied only via id.)

Here is an example of using a mix of run ids for which we want to extract logs from our platform deployment and some run logs from another deployment we want to compare. In the example below, 1JI5B1avuj3o58 is a run that contains fusion logs, while 1vsww7GjKBsVNa does not contain fusion logs.

id,workspace,group,logs,fusion 3VcLMAI8wyy0Ld,community/showcase,group1, 1JI5B1avuj3o58,external,group2,/path/to/my/run_dumps_tarball.tar.gz,true 1vsww7GjKBsVNa,external,group2,/path/to/my/run_dumps_folder,false

Incorporate AWS split cost allocation data

To incorporate AWS cost data into the benchmark report, use the benchmark_aws_cur_report parameter. This should point to a valid AWS Cost and Usage Report (CUR) file in Parquet format, currently only supporting CUR 1.0. The file can be stored locally or in a cloud bucket. To run nf-aggregate and generate benchmark reports, you can use the following command:

nextflow run seqeralabs/nf-aggregate \ --input run_ids.csv \ --outdir ./results \ --generate_benchmark_report \ --benchmark_aws_cur_report ./aws_cost_report.parquet

The benchmark report can be generated without cost data - simply omit the --benchmark_aws_cur_report parameter if cost analysis is not needed.

Output

The results from the pipeline will be published in the path specified by the --outdir and will consist of the following contents:

./results ├── multiqc/ │ ├── multiqc_data/ │ ├── multiqc_plots/ │ └── multiqc_report.html ## MultiQC report ├── nf-core_rnaseq/ │ ├── gantt/ │ │ └── 4Bi5xBK6E2Nbhj_gantt.html ## Gantt plot for run │ └── runs_dump/ │ └── 4Bi5xBK6E2Nbhj/ ## Output of 'tw runs dump' │ ├── service-info.json │ ├── workflow-launch.json │ ├── workflow-load.json │ ├── workflow-metrics.json │ ├── workflow-tasks.json │ └── workflow.json └── pipeline_info/

[!NOTE] Gantt plots depend on information derived from the Fusion logs. For that reason, Gantt plots will be ommitted from the pipeline outputs for non-Fusion runs, irrespective of whether the --skip_run_gantt parameter has been set.

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

Credits

nf-aggregate was written by the Scientific Development and MultiQC teams at Seqera Labs.

Citations

This pipeline uses code and infrastructure developed and maintained by the nf-core community, reused here under the MIT license.

You can cite the nf-core publication as follows:

The nf-core framework for community-curated bioinformatics pipelines.

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.

Owner

  • Name: Seqera
  • Login: seqeralabs
  • Kind: organization
  • Email: info@seqera.io
  • Location: Spain

Powering the next generation of big data analysis applications

Citation (CITATIONS.md)

# seqeralabs/nf-aggregate: Citations

## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/)

> Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031.

## [Nextflow](https://pubmed.ncbi.nlm.nih.gov/28398311/)

> Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311.

## Pipeline tools

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

  > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.

- [Seqera Platform CLI](https://github.com/seqeralabs/tower-cli)

## Software packaging/containerisation tools

- [Anaconda](https://anaconda.com)

  > Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web.

- [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/)

  > Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506.

- [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/)

  > da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671.

- [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241)

  > Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241.

- [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/)

  > Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675.

GitHub Events

Total
  • Create event: 23
  • Release event: 3
  • Issues event: 10
  • Watch event: 1
  • Delete event: 10
  • Issue comment event: 26
  • Push event: 103
  • Pull request review comment event: 26
  • Pull request review event: 61
  • Pull request event: 52
  • Fork event: 1
Last Year
  • Create event: 23
  • Release event: 3
  • Issues event: 10
  • Watch event: 1
  • Delete event: 10
  • Issue comment event: 26
  • Push event: 103
  • Pull request review comment event: 26
  • Pull request review event: 61
  • Pull request event: 52
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 5
  • Total pull requests: 23
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 7 days
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 0.6
  • Average comments per pull request: 0.65
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 23
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Issue authors: 3
  • Pull request authors: 5
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.65
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pinin4fjords (4)
  • ejseqera (4)
  • adamrtalbot (3)
  • robsyme (2)
  • FriederikeHanssen (2)
  • maxulysse (1)
  • drpatelh (1)
  • markpanganiban (1)
Pull Request Authors
  • maxulysse (13)
  • FloWuenne (11)
  • pinin4fjords (7)
  • drpatelh (7)
  • ejseqera (5)
  • ewels (4)
  • robsyme (4)
  • FriederikeHanssen (3)
  • adamrtalbot (1)
  • edmundmiller (1)
Top Labels
Issue Labels
bug (6) enhancement (4)
Pull Request Labels
enhancement (3) bug (1)

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • nf-core/setup-nextflow v1 composite
.github/workflows/linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • mshick/add-pr-comment v1 composite
  • psf/black stable composite
modules/nf-core/multiqc/meta.yml cpan
subworkflows/nf-core/utils_nextflow_pipeline/meta.yml cpan
subworkflows/nf-core/utils_nfvalidation_plugin/meta.yml cpan
modules/nf-core/multiqc/environment.yml pypi