📘

Expected Workflow

Explanation of how a research team might utilize VoxKit

Anyone who codes can speak in depth on the importance of breaking problems down into smaller steps. For VoxKit, we imagined a common use case scenario where things can be done one step at a time. Use it how you may, but first imagine this.

Collaboration: PI and Developers

  • A Principal Investigator (PI) or research lead defines scientific goals and a desired workflow.
  • Developers implement capabilities in code, either through pluggable abstractions already defined, or by adapting the functionity which already exists: pipeline stackers, engines (toolkits), analyzers (dataset analysis functions), and an automated startup routine to download whatever the apps needs after it's been installed.

Two Levels of Configuration

  • Developer-level: modify code and the API to implement compatible pipelines, toolkits, analyzers, and startup routines (requires coding).
  • Researcher-level: edit a declarative configuration (YAML or JSON) in the bundled app to define specific workflow steps and guidance (no coding required). This separation allows the burden of technical accuracy and phrasing to be offloaded from the developer so that they can focus on the coding of the implementation.

Bundling and Post-build Configuration

The app is bundled with developer-provided code and a configuration folder. After installation, researchers can modify the configuration files to customize the workflow without changing any code.

Team Distribution

  • Distribute the configured executable via a secure network drive or a secure web location.
  • If the generic version satisfies your needs, download it from the website and configure via the (YAML or JSON) file, skipping the development step entirely.

Notes

  • Startup routines handle one-time setup tasks such as downloading models and large datasets.
  • Maintain versioned configuration files in the config folder to support reproducible workflows.
  • Developers should provide clear documentation of any custom pipeline components so research staff can configure workflows correctly.