m4.4_sciwin_client

πŸ¦€ SciWIn Client: Reproducible computational Workflows made easy!

https://github.com/fairagro/m4.4_sciwin_client

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 2 DOI reference(s) in README
  • β—‹
    Academic publication links
  • β—‹
    Academic email domains
  • β—‹
    Institutional organization owner
  • β—‹
    JOSS paper metadata
  • β—‹
    Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

automation common-workflow-language commonwl cwl rdm science sciwin sciworkflows workflow
Last synced: 6 months ago · JSON representation ·

Repository

πŸ¦€ SciWIn Client: Reproducible computational Workflows made easy!

Basic Info
Statistics
  • Stars: 8
  • Watchers: 4
  • Forks: 2
  • Open Issues: 8
  • Releases: 11
Topics
automation common-workflow-language commonwl cwl rdm science sciwin sciworkflows workflow
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.md

icon

SciWIn Client - Scientific Workflow Infrastructure<!-- omit from toc -->

Rust πŸ¦€ Continuous Integration GitHub License GitHub Release GitHub Downloads

⭐ Star this Repo to say "Thank you!" ⭐

Share Share Share Share

πŸ¦€ Take a look at our latest poster to find out, why SciWIn will be amazing! πŸ‘€ Or read the Documentation to get started! πŸš€

πŸ“– Table of Contents<!-- omit from toc -->

πŸš€ About

Computational workflows, which describe complex, multi-step procedures for automated execution, are essential for ensuring reproducibility, scalability, and efficiency in scientific research. The FAIRagro Scientific Workflow Infrastructure (SciWIn) supports scientists to create, execute, share, and publish these workflows, fostering collaboration and transparency.

Reproducibility in computational research is vital for efficient collaboration, verifying results and ensuring transparency. Yet it remains challenging due to complex workflows, inconsistent data management and the reliance on specific software environments. SciWIn Client is a command-line tool designed to easily create, record, annotate and execute computational workflows. SciWIn Client enables researchers to interactively use intuitive commands to keep track of tasks such as as data-extraction, -cleaning, -transformation, -analysis, -visualization and computational simulation. Automated and standardised workflows minimise sources of error and support transparent and reproducible Open Science.

πŸ—οΈ How to Build and Test

This project is being developed using Rust and Cargo. To run the source code use cargo run, to build use cargo build.

To run the tests use cargo test or cargo test -- --nocapture to output logs.

```bash

Clone the repository

git clone https://github.com/fairagro/m4.4sciwinclient cd m4.4sciwinclient

Build the project

cargo build

Run the project

cargo run ```

To run tests (unit and integration) bash cargo test --workspace # Run all tests cargo test -- --nocapture # Show log output during tests

🎯 Installation

Detailed installation instructions can be found at the latest release:

GitHub Release

The easiest way is to use the shell or powershell scripts with the provided commands. To install latests binaries you can use the following scripts:

Linux/MacOS:

bash curl --proto '=https' --tlsv1.2 -LsSf https://fairagro.github.io/m4.4_sciwin_client/get_s4n.sh | sh

Windows:

powershell powershell -ExecutionPolicy Bypass -c "irm https://fairagro.github.io/m4.4_sciwin_client/get_s4n.ps1 | iex"

πŸ“š How to Use

Take a look at the User documentation. An overview on how to use SciWIn Client is available below.

Project initialization

Most commands need the context of a Git repo to work. Project initialization can be done using the s4n init command. bash s4n init -p <FOLDER/PROJECT NAME> Besides the minimal project structure, the creation of an "Annotated Research Context" or ARC is also possible. bash s4n init -a -p <FOLDER/PROJECT NAME>

Creation of CWL CommandLineTools

To create CWL CommandLineTools which can be combined to workflows later a prefix command can be used. s4n tool create which has s4n run as a synonym will execute any given command and creates a CWL CommandLineTool accordingly. bash s4n tool create <COMMAND> [ARGUMENTS] The command comes with a lot of different options on how to handle the CWL creation specifically. ``` Usage: s4n tool create [OPTIONS] [COMMAND]...

Arguments: [COMMAND]... Command line call e.g. python script.py [ARGUMENTS]

Options: -n, --name A name to be used for this tool -c, --container-image An image to pull from e.g. docker hub or path to a Dockerfile -t, --container-tag The tag for the container when using a Dockerfile -r, --raw Outputs the raw CWL contents to terminal --no-commit Do not commit at the end of tool creation --no-run Do not run given command --clean Deletes created outputs after usage ```

Creation of CWL Workflows

CWL Workflows can be created semi-automatically using s4n workflow commands. First of all a workflow needs to be created. bash s4n workflow create <NAME> After execution of this command a file called workflows/<NAME>/<NAME>.cwl will be created. Workflow Steps and Connections can be added using the s4n workflow connect command. Connections to In- or Outputs are added using either @inputs or @outputs as file identifier. bash s4n workflow connect <NAME> --from [FILE]/[SLOT] --to [FILE/SLOT] For example: s4n workflow connect demo --from @inputs/speakers --to calculation/speakers - The Step calculation will be added pointing to workflows/calculation/calculation.cwl, which will use the newly created input speakers as input for its speakers input.

Execution of CWL Files

SciWIn-Client comes with its custom CWL Runner (which does not support all cwltool can do, yet!) to run Workflows and CommandLineTools. The command s4n execute local can also be triggered using s4n ex l. bash s4n execute local <CWLFILE> [ARGUMENTS]

πŸͺ‚ Contributors

Made with contrib.rocks.

|Measure 4.4||| |--|--|--| |Jens Krumsieck|:octocat: @jenskrumsieck|ORCID: 0000-0001-6242-5846| |Antonia Leidel|:octocat: @aleidel|ORCID: 0009-0007-1765-0527| |Patrick KΓΆnig|:octocat: @patrick-koenig|ORCID: 0000-0002-8948-6793| |Xaver Stiensmeier|:octocat: @XaverStiensmeier|ORCID: 0009-0005-3274-122X| |Harald von Waldow|:octocat: @hvwaldow|ORCID: 0000-0003-4800-2833|

βš–οΈ License

This work is dual-licensed under Apache 2.0 and MIT . You can choose between one of them if you use this work. SPDX-License-Identifier: Apache-2.0 OR MIT

🏁 Quick Links

πŸ”Ό Back to Top

Owner

  • Name: FAIRagro
  • Login: fairagro
  • Kind: organization
  • Location: Germany

NFDI consortium for "FAIR Data Infrastructure in Agroecosystems"

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  SciWIn Client: Reproducible computational Workflows made
  easy! 
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - orcid: 'https://orcid.org/0000-0001-6242-5846'
    given-names: Jens
    family-names: Krumsieck
    affiliation: Johann Heinrich von ThΓΌnen Institute
  - orcid: 'https://orcid.org/0009-0007-1765-0527'
    given-names: Antonia
    family-names: Leidel
    affiliation: Leibniz Institute of Plant Genetics and Crop Plant Research
  - orcid: 'https://orcid.org/0000-0002-8948-6793'
    given-names: Patrick
    family-names: KΓΆnig
    affiliation: Leibniz Institute of Plant Genetics and Crop Plant Research
  - orcid: 'https://orcid.org/0000-0003-4800-2833'
    given-names: Harald
    family-names: von Waldow
    affiliation: Johann Heinrich von ThΓΌnen Institute
repository-code: 'https://github.com/fairagro/m4.4_sciwin_client'
url: 'https://fairagro.github.io/m4.4_sciwin_client/'
abstract: >-
  Computational workflows, which describe complex,
  multi-step procedures for automated execution, are
  essential for ensuring reproducibility, scalability, and
  efficiency in scientific research. The FAIRagro Scientific
  Workflow Infrastructure (SciWIn) supports scientists to
  create, execute, share, and publish these workflows,
  fostering collaboration and transparency.

  Reproducibility in computational research is vital for
  efficient collaboration, verifying results and ensuring
  transparency. Yet it remains challenging due to complex
  workflows, inconsistent data management and the reliance
  on specific software environments. SciWIn Client is a
  command-line tool designed to easily create, record,
  annotate and execute computational workflows. SciWIn
  Client enables researchers to interactively use intuitive
  commands to keep track of tasks such as as
  data-extraction, -cleaning, -transformation, -analysis,
  -visualization and computational simulation. Automated and
  standardised workflows minimise sources of error and
  support transparent and reproducible Open Science.
keywords:
  - science
  - workflow
  - automation
  - common-workflow-language
  - cwl
  - rdm
license: MIT

GitHub Events

Total
  • Create event: 52
  • Commit comment event: 1
  • Release event: 9
  • Issues event: 144
  • Watch event: 7
  • Delete event: 46
  • Issue comment event: 189
  • Push event: 876
  • Pull request review event: 12
  • Pull request review comment event: 28
  • Pull request event: 72
  • Fork event: 2
Last Year
  • Create event: 52
  • Commit comment event: 1
  • Release event: 9
  • Issues event: 144
  • Watch event: 7
  • Delete event: 46
  • Issue comment event: 189
  • Push event: 876
  • Pull request review event: 12
  • Pull request review comment event: 28
  • Pull request event: 72
  • Fork event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 66
  • Total pull requests: 37
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 10 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 0.55
  • Average comments per pull request: 0.89
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 66
  • Pull requests: 37
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 10 days
  • Issue authors: 3
  • Pull request authors: 3
  • Average comments per issue: 0.55
  • Average comments per pull request: 0.89
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 17
Top Authors
Issue Authors
  • JensKrumsieck (63)
  • hvwaldow (20)
  • aleidel (2)
Pull Request Authors
  • JensKrumsieck (31)
  • dependabot[bot] (16)
  • aleidel (2)
Top Labels
Issue Labels
Client (54) bug (3) Random thought πŸ€” (1) invalid (1) Refactor (1)
Pull Request Labels
dependencies (16) rust (13) javascript (2) Refactor (1) Client (1)

Dependencies

.github/workflows/build.yml actions
  • actions-rust-lang/setup-rust-toolchain v1 composite
  • actions/checkout v4 composite
.github/workflows/clippy.yaml actions
  • actions/checkout v4 composite
.github/workflows/coverage.yml actions
  • actions-rust-lang/setup-rust-toolchain v1 composite
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
.github/workflows/manage-issues.yml actions
  • actions/add-to-project v1.0.2 composite
.github/workflows/nightly.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
  • dtolnay/rust-toolchain nightly composite
  • microsoft/setup-msbuild v2 composite
Cargo.lock cargo
  • 140 dependencies
Cargo.toml cargo
  • serial_test 3.1.1 development
  • tempfile 3.13.0 development
  • clap 4.5.18
  • colored 2.1.0
  • git2 0.19.0
  • pathdiff 0.2.1
  • serde 1.0.210
  • serde_yml 0.0.12
  • shlex 1.3.0
  • slugify 0.1.0
  • syntect 5.2.0
tests/test_data/Dockerfile docker
  • python latest build