mavis.schedule.pipeline
PROGNAME
PROGNAME = shutil.which('mavis')
SHEBANG
SHEBANG = '#!/bin/bash'
SCHEDULERS_BY_NAME
SCHEDULERS_BY_NAME = {
sched.NAME: sched for sched in [SlurmScheduler, TorqueScheduler, LocalScheduler, SgeScheduler]
class mavis.schedule.pipeline.Pipeline
mavis.schedule.pipeline.Pipeline.check_status()
Check all jobs for completetion. Report any failures, etc.
def check_status(self, submit=False, resubmit=False, log=DEVNULL):
Args
- submit (
bool
): submit any pending jobs - resubmit
- log
mavis.schedule.pipeline.Pipeline.read_build_file()
read the configuration file which stored the build information concerning jobs and dependencies
@classmethod
def read_build_file(cls, filepath):
Args
- filepath (
str
): path to the input config file
mavis.schedule.pipeline.Pipeline.write_build_file()
write the build.cfg file for the current pipeline. This is the file used in re-loading the pipeline to check the status and report failures, etc. later.
def write_build_file(self, filename):
Args
- filename (
str
): path to the output config file
mavis.schedule.pipeline.stringify_args_to_command()
takes a list of arguments and prepares them for writing to a bash script
def stringify_args_to_command(args):
Args
- args
mavis.schedule.pipeline.parse_run_time()
parses the run time listed at the end of a file following mavis conventions
def parse_run_time(filename):
Args
- filename
mavis.schedule.pipeline.run_conversion()
Converts files if not already converted. Returns a list of filenames
def run_conversion(config, libconf, conversion_dir, assume_no_untemplated=True):
Args
- config
- libconf
- conversion_dir
- assume_no_untemplated
mavis.schedule.pipeline.validate_args()
Pull arguments from the main config and library specific config to pass to validate
def validate_args(config, libconf):
Args
- config (
MavisConfig
): the main program config - libconf (
LibraryConfig
): library specific configuration
mavis.schedule.pipeline.annotate_args()
Pull arguments from the main config and library specific config to pass to annotate
def annotate_args(config, libconf):
Args
- config (
MavisConfig
): the main program config - libconf (
LibraryConfig
): library specific configuration
mavis.schedule.pipeline.summary_args()
Pull arguments from the main config and library specific config to pass to summary
def summary_args(config):
Args
- config (
MavisConfig
): the main program config
mavis.schedule.pipeline.cluster_args()
Pull arguments from the main config and library specific config to pass to cluster
def cluster_args(config, libconf):
Args
- config (
MavisConfig
): the main program config - libconf (
LibraryConfig
): library specific configuration