From aeeee9331ae1910e8c4d0a1d76d835043fbfb9f5 Mon Sep 17 00:00:00 2001 From: Johannes Koester Date: Fri, 8 Dec 2023 12:08:53 +0100 Subject: [PATCH] docs: refactor docs --- README.md | 23 +---------------------- docs/further.md | 19 +++++++++++++++++++ docs/intro.md | 3 +++ pyproject.toml | 1 + 4 files changed, 24 insertions(+), 22 deletions(-) create mode 100644 docs/further.md create mode 100644 docs/intro.md diff --git a/README.md b/README.md index 3b96d60..132fefe 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,3 @@ # Snakemake storage plugin: fs -A Snakemake storage plugin that reads and writes from a locally mounted filesystem using rsync. -This is particularly useful when running Snakemake on an NFS. -Complex parallel IO patterns can slow down NFS quite substantially. -The following Snakemake CLI flags allow to avoid such patterns by instructing Snakemake -to copy any input to a fast local scatch disk and copying output files back to NFS at the end of a job. - -```bash -snakemake --default-storage-provider fs --shared-fs-usage persistence software-deployment sources source-cache --local-storage-prefix /local/work/$USER -``` - -with `/local/work/$USER` being the path to the local (non NFS) scratch dir. -Alternatively, these options can be persisted in a profile: - -```yaml -default-storage-provider: fs -local-storage-prefix: /local/work/$USER -shared-fs-usage: - - persistence - - software-deployment - - sources - - source-cache -``` \ No newline at end of file +See the [snakemake plugin catalog](https://snakemake.github.io/snakemake-plugin-catalog) for documentation. \ No newline at end of file diff --git a/docs/further.md b/docs/further.md new file mode 100644 index 0000000..da64e2a --- /dev/null +++ b/docs/further.md @@ -0,0 +1,19 @@ +The following Snakemake CLI flags allow to avoid harmful IO patterns on shared network filesystems by instructing Snakemake +to copy any input to a fast local scatch disk and copying output files back to the network filesystem at the end of a job. + +```bash +snakemake --default-storage-provider fs --shared-fs-usage persistence software-deployment sources source-cache --local-storage-prefix /local/work/$USER +``` + +with `/local/work/$USER` being the path to the local (non-shared) scratch dir. +Alternatively, these options can be persisted in a profile: + +```yaml +default-storage-provider: fs +local-storage-prefix: /local/work/$USER +shared-fs-usage: + - persistence + - software-deployment + - sources + - source-cache +``` \ No newline at end of file diff --git a/docs/intro.md b/docs/intro.md new file mode 100644 index 0000000..27927df --- /dev/null +++ b/docs/intro.md @@ -0,0 +1,3 @@ +A Snakemake storage plugin that reads and writes from a locally mounted filesystem using rsync. +This is particularly useful when running Snakemake on an NFS as complex parallel IO patterns can slow down NFS quite substantially. +See "Further information" for an example configuration in such a scenario. diff --git a/pyproject.toml b/pyproject.toml index 583d559..1dbdb77 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,6 +4,7 @@ version = "0.1.3" description = " A Snakemake storage plugin that reads and writes from a locally mounted filesystem using rsync" authors = ["Johannes Koester "] readme = "README.md" +repository = "https://github.com/snakemake/snakemake-storage-plugin-fs" [tool.poetry.dependencies] python = "^3.11"