main(jobno: int, session, jobservice) -> None: bfast_base_dir = saga.Url("sftp://india.futuregrid.org/N/u/oweidner/software/bfast/") try: workdir = "%s/tmp/run/%s" % (bfast_base_dir.path, str(int(time.time()))) basedir = saga.filesystem.Directory(bfast_base_dir, session=session) basedir.make_dir(workdir) jd = saga.job.Description() jd.wall_time_limit = 5 # wall-time in minutes jd.total_cpu_count = 1 jd.environment = {'BFAST_DIR': bfast_base_dir.path} jd.working_directory = workdir jd.executable = '$BFAST_DIR/bin/bfast' jd.arguments = ['match', '-A 1', '-r $BFAST_DIR/data/small/reads_5K/reads.10.fastq', '-f $BFAST_DIR/data/small/reference/hg_2122.fa'] myjob = js.create_job(jd) myjob.run() print("Job #%s started with ID '%s' and working directory: '%s'" % (jobno, myjob.jobid, workdir)) myjob.wait() print("Job #%s with ID '%s' finished (RC: %s). Output available in: '%s'" % (jobno, myjob.jobid, myjob.exitcode, workdir)) basedir.close() except saga.Exception, ex: print(f"An error occurred during job execution: {ex}") sys.exit(-1) if __name__ == "__main__": execution_host = saga.Url("pbs+ssh://india.futuregrid.org") ctx = saga.Context() ctx.type = saga.Context.SSH ctx.userid = 'oweidner' # like 'ssh username@host ...' ctx.userkey = '/Users/oweidner/.ssh/rsa_work' # like ssh -i ...' session = saga.Session() session.contexts.append(ctx) js = saga.job.Service(execution_host, session) for i in range(0, 4): main(i, session, js) Grants The work related to the SAGA Project is funded by the following grants:NSF-CHE 1125332 (CDI), NSF-EPS 1003897 (LaSIGMA), NSF-OCI 1007115 (ExTENCI). Previous grants include: NSF-OCI 0710874 (HPCOPS), NIH grant number P20RR016456 and UK EPSRC grant number GR/D0766171/1 via OMII-UK External links SAGA-Bliss - A Python implementation of SAGA jSAGA - A Java implementation of SAGA SAGA C++ - A C++ implementation of SAGA SAGA-GLib - A Vala implementation of SAGA for GLib SAGA PROJECT POSIX Notes Grid computing