Voyager SDK is a developer toolkit for integrating pipelines into the Voyager platform using modular components called Operators. It enables researchers and engineers to define pipeline-specific logic in a reusable, testable format—supporting both CWL and Nextflow workflows—without modifying the core Voyager codebase.
Prerequisites:
- Python >= 3.x
- Voyager platform instance
Usage: voyager-sdk [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
login
logout
operator
In order to start development of the operator you need to authenticate to Voyager platform
In case you want to authenticate with a different user you can logout from the Voyager platform
Operator subcommand contains all commands needed to start developing Operator
Usage: voyager-sdk operator [OPTIONS] COMMAND [ARGS]...
Options: --help Show this message and exit.
Commands:
create
register
run
Operator create command bootstrap the Operator project. It creates the operator_class file together with configuration files which contains the information about Pipeline for which Operator will be developed and input schema of the pipeline.
Usage: voyager-sdk operator create [OPTIONS]
Options:
--name TEXT Operator class name (example:
PipelineXOperator)
--pipeline_github TEXT Pipeline github repository
--pipeline_github_version TEXT Pipeline github version (tag or branch)
--pipeline_entrypoint TEXT Pipeline script (cwl or nf)
--format [CWL|NF] Pipeline script format (CWL or NF)
--help Show this message and exit.
The Example of the Operator code:
https://github.com/mskcc/argos-operator-v2/
This Operator is developed to run the CWL pipeline called Argos:
https://github.com/mskcc/argos-cwl
Operator run command instantiate the Operator class and calls the get_jobs() function.
Usage: voyager-sdk operator run [OPTIONS]
Options:
--request-id TEXT Run Operator based on metadata key igoRequestId
--pairs TEXT Run Operator based on T/N Pairs (path to file)
--help Show this message and exit.