nf-bigstitcher-spark

Run BigStitcher-Spark using Nextflow

https://github.com/janeliascicomp/nf-bigstitcher-spark

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 6 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Run BigStitcher-Spark using Nextflow

Basic Info
  • Host: GitHub
  • Owner: JaneliaSciComp
  • License: bsd-3-clause
  • Language: Nextflow
  • Default Branch: main
  • Homepage:
  • Size: 402 KB
Statistics
  • Stars: 1
  • Watchers: 4
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 11 months ago · Last pushed 8 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

nf-BigStitcher-Spark

GitHub Actions CI Status GitHub Actions Linting Status Cite with Zenodo Nextflow run with conda run with docker run with singularity

Introduction

JaneliaSciComp/nf-BigStitcher-Spark is a Nextflow pipeline that allows you to run individual BigStitcher-Spark modules. This means you can run the compute-intensive parts of BigStitcher on any compute infrastructure supported by Nextflow (SGE, SLURM, AWS, etc.). The pipeline starts up an Apache Spark cluster, runs the selected BigStitcher step, and then shuts down Spark.

Usage

[!NOTE] If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.

Review the current nf-core configs to see if your compute environment is already supported by nf-core. If so, you can specify the config using -profile when running the pipeline. If not, you may need to create a profile for your compute infrastructure.

Downloading test data.

To only download test data from an http URL you can use

bash nextflow run JaneliaSciComp/nf-BigStitcher-Spark \ -profile <docker|podman|singularity|...|institute> \ --module download-only \ --download_url myurl \ --download_dir /path/to/downloaded_data

You can also combine downloading with running a BigStitcher module that you know is ready to be processed based on the content of the test data. In that case all the other parameters for the BigStitcher should be specified as if everything is available at the specified --download_dir

bash nextflow run JaneliaSciComp/nf-BigStitcher-Spark \ -profile <docker|podman|singularity|...|institute> \ --module stitching \ --download_url myurl \ --download_dir /path/to/downloaded_data \ --xml /path/to/downloaded_data/dataset.xml

To run the "resave" module:

bash nextflow run JaneliaSciComp/nf-BigStitcher-Spark \ -profile <docker/singularity/.../institute> \ --module resave \ --xml /path/to/your/bigstitcher/project.xml \ --output /path/to/your/output.zarr

To run "affine-fusion" module: bash nextflow run JaneliaSciComp/nf-BigStitcher-Spark \ -profile <docker/singularity/.../institute> \ --module affine-fusion \ --output /path/to/your/zarr_or_n5_container

If the container is on S3 and it references local files you may need to pass these files using --input_data_files parameter. For example if the container was created using: bash nextflow run JaneliaSciComp/nf-BigStitcher-Spark \ -profile docker \ --module create-container \ --xml <local>/datasets/Stitching_Tiff/zstd-dataset.ome.zarr \ --output s3://janelia-bigstitcher-spark/Stitching/cg-fused.zarr \ --container_runtime_opts "-e AWS_ACCESS_KEY_ID=<key> -e AWS_SECRET_ACCESS_KEY=<secret>" \ --module_params '--preserveAnisotropy --multiRes'

Then to fuse it you need to run: bash nextflow run JaneliaSciComp/nf-BigStitcher-Spark \ -profile docker \ --module affine-fusion \ --output s3://janelia-bigstitcher-spark/Stitching/cg-fused.zarr \ --publishdir work \ --container_runtime_opts "-e AWS_ACCESS_KEY_ID=<k> -e AWS_SECRET_ACCESS_KEY=<s>" \ --input_data_files <local>/datasets/Stitching_Tiff/zstd-dataset.xml

To fuse a container on S3 you may need to provide AWS credentials using containerruntimeopts as below: bash nextflow run JaneliaSciComp/nf-BigStitcher-Spark \ -profile docker \ --module affine-fusion \ --output s3://janelia-bigstitcher-spark/Stitching/fused.zarr \ --publishdir work \ --container_runtime_opts "-e AWS_ACCESS_KEY_ID=<key> -e AWS_SECRET_ACCESS_KEY=<secret>"

To fuse a container on Janelia's LSF cluster, with the head nextflow task running on the cluster as well use: bash bsub -o job.out -e job.err -J fuse -P <projectCode> \ nextflow run main.nf \ -profile janelia \ --module affine-fusion \ --output <fused-container-location> \ --lsf_opts "-P <projectCode>"

[!WARNING] Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.

For more details and further functionality, please refer to the usage documentation and the parameter documentation.

Pipeline output

To see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the output documentation.

Credits

JaneliaSciComp/nf-BigStitcher-Spark was developed by Cristian Goina, Konrad Rokicki, and Stephan Preibisch (the author of BigStitcher).

Contributions and Support

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

Citations

If you use BigStitcher for your analysis, please cite it using the following DOI: 10.1038/s41592-019-0501-0

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

Owner

  • Name: Howard Hughes Medical Institute
  • Login: JaneliaSciComp
  • Kind: organization
  • Location: 19700 Helix Drive, Ashburn, VA 20147

GitHub organization maintained by Scientific Computing Software at HHMI's Janelia Research Campus for use by HHMI staff and external collaborators.

Citation (CITATIONS.md)

# JaneliaSciComp/nf-BigStitcher-Spark: Citations

## BigStitcher

- [BigStitcher](https://doi.org/10.1038/s41592-019-0501-0)

  > Hörl, D., Rojas Rusak, F., Preusser, F. et al. BigStitcher: reconstructing high-resolution image datasets of cleared and expanded samples. Nat Methods 16, 870–874 (2019). https://doi.org/10.1038/s41592-019-0501-0

## Software packaging/containerisation tools

- [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.

- [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
  • Issues event: 1
  • Delete event: 1
  • Issue comment event: 2
  • Push event: 18
  • Pull request event: 2
  • Create event: 1
Last Year
  • Issues event: 1
  • Delete event: 1
  • Issue comment event: 2
  • Push event: 18
  • Pull request event: 2
  • Create event: 1

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • conda-incubator/setup-miniconda a4260408e20b96e80095f42ff7f1a15b27dd94ca composite
  • eWaterCycle/setup-apptainer main composite
  • jlumbroso/free-disk-space 54081f138730dfa15788a46383842cd2f914a1be composite
  • nf-core/setup-nextflow v2 composite
.github/workflows/linting.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/setup-python 0b93645e9fea7318ecaed2b359559ac225c90a2b composite
  • actions/upload-artifact b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 composite
  • nf-core/setup-nextflow v2 composite
  • pietrobolcato/action-read-yaml 1.1.0 composite
.github/workflows/template_version_comment.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • mshick/add-pr-comment b8f338c590a895d50bcbfa6c5859251edc8952fc composite
  • nichmor/minimal-read-yaml v0.0.2 composite
subworkflows/janelia/spark_start/meta.yml cpan
subworkflows/janelia/spark_stop/meta.yml cpan
subworkflows/nf-core/utils_nextflow_pipeline/meta.yml cpan
subworkflows/nf-core/utils_nfcore_pipeline/meta.yml cpan
subworkflows/nf-core/utils_nfschema_plugin/meta.yml cpan