Shesmu is part of a bioinformatics workflow launching system. It does not do workflow launching in the usual sense.
Shesmu acts as an intermediary between two systems: a database of analysis provenance and a workflow scheduler. It scans the provenance system for a list of which files have been produced and then uses decision-action blocks called olives to decide what “actions” should be run. Actions can be launching workflows or filing tickets.
It can filter and aggregate the provenance information to decide what actions to perform. Shesmu is designed to operate in a stateless way. When the server starts up, it creates a list of all actions that need to be performed, then it issues commands to the workflow launcher, which should politely recognise which commands have been previously executed and only launch the new tasks.
Plugins are used to communicate with other systems to perform the real work–Shesmu is an empty vessel that requires plugins to find data and take action. The olives are supplied by a script that is compiled and run over all the provenance data.
For olive developers:
For operators:
For system administrators:
For developers:
Shesmu is meant to be a pluggable system. The base system provides a few plugins that might be useful, but it is likely that custom plugins are needed. Please read the plugin implementation guide for information about how to extend the system. The plugins available are:
Once a plugin is configured, it can provide:
Run
olivesInput
declaration at the start of a file, or in Join
or LeftJoin
clauses.shesmu
sources, especially when they are stored in git or the like. A source linker knows how to convert a path on the local file system into a URL.To view what olives may use, from the main Shesmu status page, use the
Definition
menu to view the available resources including documentation and
type information. The plugins may not be able to provide static documentation
since they may dynamically provide actions, constants, functions, or signers.
For many plugins, the filename will determine the name of things available to the olives.