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

tools release blogpost and ro-crate docs #2886

Open
wants to merge 17 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 16 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
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,25 @@ describing what each file is and what it does.

You will find the following files in each nf-core pipeline. They are automatically generated, when running `nf-core pipelines create`.

| Filename | Description  |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `main.nf` | This is the main nextflow file which will get executed if the pipeline is run. Typically, parameters are initialized and validated in this script before a workflow from the `workflows/` directory is called for execution. |
| `nextflow.config` | The main nextflow configuration file. It contains the default pipeline parameters, nextflow configuration options and information like pipeline and minimum nextflow version, among others. The `nextflow.config` also defines different configuration profiles that can be used to run the pipeline. See the [Configuration docs](/docs/usage/getting_started/configuration) for more information. |
| `README.md` | Basic information about the pipeline and usage |
| `nextflow_schema.json` | The JSON schema file is used for pipeline parameter specification. This is automatically created using the `nf-core pipelines schema build` command. It is used for printing command-line help, validating input parameters, building the website docs and for building pipeline launch interfaces (web and cli). |
| `CHANGELOG.md` | Information about the changes made to the pipeline for each release. |
| `LICENSE` | The license - should be MIT |
| `CODE_OF_CONDUCT.md` | The nf-core code of conduct. |
| `CITATIONS.md` | All citations needed when using the pipeline |
| `.gitattributes` | Git settings, primarily getting the `.config` files to render with Nextflow syntax highlighting on <github.com> |
| `.gitignore` | Files that should be ignored by git. |
| `.editorconfig` | Editorconfig file that helps assuring consistent coding style |
| `.prettierrc.yml` | Prettier lint configuration file to assure consistent markdown files |
| `.prettierignore` | Files that should be ignored by prettier |
| `modules.json` | This file holds information (e.g. version) about all the modules in the pipeline that have been installed from `nf-core/modules` |
| `.nf-core.yml` | Indicates the type of repository (pipeline or modules repo) |
| `.gitpod.yml` | Config file to define online working environment with <https://www.gitpod.io> |
| `pyproject.toml` | Config file for Python. Mostly used to configure linting of `bin/check_samplesheet.py` with Black |
| Filename | Description  |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `main.nf` | This is the main nextflow file which will get executed if the pipeline is run. Typically, parameters are initialized and validated in this script before a workflow from the `workflows/` directory is called for execution. |
| `nextflow.config` | The main nextflow configuration file. It contains the default pipeline parameters, nextflow configuration options and information like pipeline and minimum nextflow version, among others. The `nextflow.config` also defines different configuration profiles that can be used to run the pipeline. See the [Configuration docs](/docs/usage/getting_started/configuration) for more information. |
| `README.md` | Basic information about the pipeline and usage |
| `nextflow_schema.json` | The JSON schema file is used for pipeline parameter specification. This is automatically created using the `nf-core pipelines schema build` command. It is used for printing command-line help, validating input parameters, building the website docs and for building pipeline launch interfaces (web and cli). |
| `CHANGELOG.md` | Information about the changes made to the pipeline for each release. |
| `LICENSE` | The license - should be MIT |
| `CODE_OF_CONDUCT.md` | The nf-core code of conduct. |
| `CITATIONS.md` | All citations needed when using the pipeline |
| `.gitattributes` | Git settings, primarily getting the `.config` files to render with Nextflow syntax highlighting on <github.com> |
| `.gitignore` | Files that should be ignored by git. |
| `.editorconfig` | Editorconfig file that helps assuring consistent coding style |
| `.prettierrc.yml` | Prettier lint configuration file to assure consistent markdown files |
| `.prettierignore` | Files that should be ignored by prettier |
| `modules.json` | This file holds information (e.g. version) about all the modules in the pipeline that have been installed from `nf-core/modules` |
| `.nf-core.yml` | File to indicate the type of repository (pipeline or modules) and to hold information about the pipeline for nf-core/tools, e.g. linting exceptions, skipped template features, etc. |
| `.gitpod.yml` | Config file to define online working environment with <https://www.gitpod.io> |
| `ro-crate-metadata.json` | A RO Crate metadata file, which is used to describe the pipeline. For more information, see [RO Crate](https://www.researchobject.org/ro-crate/) |

## Directories

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Research Object Crate
subtitle: Pipelines must come with their own Research Object (RO) Crate
shortTitle: RO Crate
---

All nf-core pipelines MUST come with their own Research Object (RO) Crate.
RO Crate is an open-source standard which we use to describe our pipelines and their components in a structured way and helps with automated provenance tracking.

:::note
The RO Crate generated with nf-core/tools describes the pipeline as a whole, not pipeline runs.
For that kind of provenance, use the new [nf-prov plugin](https://github.com/nextflow-io/nf-prov), which is currently in development.
:::

More information can be found [here](https://www.researchobject.org/ro-crate/).
17 changes: 17 additions & 0 deletions sites/docs/src/content/docs/nf-core-tools/pipelines/rocrate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Create a ROCrate
subtitle: Create a Research Object (RO) Crate
shortTitle: rocrate
---

The `nf-core pipelines rocrate` command generates a Research Object (RO) Crate for your pipeline.
RO Crates are an open-source standard which in this case describe a pipeline and its components in a structured way and help with automated provenance tracking.

You can generate and update a RO Crate using the `nf-core pipelines rocrate` command (which is automatically run with `nf-core pipelines create` and `nf-core pipelines sync`).

This command takes a pipeline directory and attempts to generate a RO Crate for it, relying heavily on the [repo2rocrate library](https://github.com/crs4/repo2rocrate).

:::note
The `author` field is populated based on the git contributors.
The ORCID ID is currently identified by searching the ORCID API for a unique match of the contributor's full name provided from GitHub.
:::
Loading
Loading