Skip to content

An execution interface, designed as a web component, for the effortless execution of workflows via GA4GH WES API

License

Notifications You must be signed in to change notification settings

sapporo-wes/neko-punch

Repository files navigation

Neko-Punch 🐈👊

Apache License

Neko-Punch is a web component designed to execute workflows with ease via GA4GH WES API. It enables you to embed the workflow execution interface effortlessly onto various pages, such as database pages, paper pages, and so on.

Screenshots

Workflow execution

screenshot_1

Browse execution results

screenshot_2

Embedding Instructions

Load the neko-punch.js in the HTML head tag and write the neko-punch tag inside the body tag.

<!DOCTYPE html>
<html lang="en">
  <head>
    <script
      src="https://sapporo-wes.github.io/neko-punch/dist-prod/neko-punch.js"
      type="module"
    ></script>
  </head>
  <body>
    <neko-punch
      wes-location="http://localhost:1122"
      yevis-metadata-url="https://raw.githubusercontent.com/sapporo-wes/yevis-cli/main/tests/test-metadata-CWL-validated.yml"
    />
  </body>
</html>

Attributes

  • wes-location
    • The URL of the WES API endpoint
    • Currently, it only supports Sapporo-WES
  • yevis-metadata-url
    • The URL of the workflow metadata
    • Create using Yevis-CLI
  • workflow-engine
    • Optional
    • Choose the workflow engine you want to run on Sapporo-WES (Check the executable workflow engines with GET /service-info)
    • By default, it automatically selects the workflow engine from the workflow type

Getting Started

You will need Sapporo-WES to run Neko-Punch.

$ curl -O https://raw.githubusercontent.com/sapporo-wes/sapporo-service/main/docker-compose.yml
$ docker-compose up -d
$ curl localhost:1122/service-info
{"auth_instructions_url":"https://github.com/sapporo-wes/sapporo-service", ...}

After setting up Sapporo-WES, the below command will clone the Neko-Punch repository, install dependencies, build the web component, start a development server. Then you can access Neko-Punch on your local machine at http://localhost:8080

# Clone this repository
$ git clone https://github.com/sapporo-wes/neko-punch.git && cd neko-punch

# Install dependencies
$ npm ci

# Build a web component to dist/
$ npm run build

# Run a development server
$ npm run serve

# Access to http://localhost:8080

Development

Node.js v18 or higher is recommended.

# Install dependencies
$ npm install

# Build a web component to dist/
$ npm run build

# Run a development server
$ npm run serve

# Access to http://localhost:8080

Release

$ bash release.sh <version>

License

This project is licensed under the Apache-2.0 License.

See the LICENSE for more information.

About

An execution interface, designed as a web component, for the effortless execution of workflows via GA4GH WES API

Resources

License

Stars

Watchers

Forks