def cli(ctx, uri, job_path, **kwds): """Planemo command for running tools and jobs. \b % planemo run cat1-tool.cwl cat-job.json """ path = uri_to_path(ctx, uri) # TODO: convert UI to runnable and do a better test of cwl. is_cwl = path.endswith(".cwl") kwds["cwl"] = is_cwl if kwds.get("engine", None) is None: kwds["engine"] = "galaxy" if not is_cwl else "cwltool" with engine_context(ctx, **kwds) as engine: run_result = engine.run(path, job_path) if not run_result.was_successful: warn("Run failed [%s]" % unicodify(run_result)) ctx.exit(1) outputs_dict = run_result.outputs_dict print(outputs_dict) output_json = kwds.get("output_json", None) if output_json: with open(output_json, "w") as f: json.dump(outputs_dict, f) return 0
def cli(ctx, uri, job_path, **kwds): """Planemo command for running tools and jobs. \b % planemo run cat1-tool.cwl cat-job.json """ path = uri_to_path(ctx, uri) # TODO: convert UI to runnable and do a better test of cwl. is_cwl = path.endswith(".cwl") kwds["cwl"] = is_cwl if kwds.get("engine", None) is None: kwds["engine"] = "galaxy" if not is_cwl else "cwltool" with engine_context(ctx, **kwds) as engine: run_result = engine.run(path, job_path) if not run_result.was_successful: warn("Run failed [%s]" % str(run_result)) ctx.exit(1) outputs_dict = run_result.outputs_dict print(outputs_dict) output_json = kwds.get("output_json", None) if output_json: with open(output_json, "w") as f: json.dump(outputs_dict, f) return 0
def for_runnable_identifier(ctx, runnable_identifier, kwds, temp_path=None, return_all=False): """Convert URI, path, or alias into Runnable.""" # could be a URI, path, or alias current_profile = kwds.get('profile') runnable_identifier = translate_alias(ctx, runnable_identifier, current_profile) if not runnable_identifier.startswith(GALAXY_WORKFLOWS_PREFIX): runnable_identifier = uri_to_path(ctx, runnable_identifier) if os.path.exists(runnable_identifier): runnable = for_path(runnable_identifier, temp_path=temp_path, return_all=return_all) else: # assume galaxy workflow id if not runnable_identifier.startswith(GALAXY_WORKFLOWS_PREFIX): runnable_identifier = f"{GALAXY_WORKFLOWS_PREFIX}{runnable_identifier}" runnable = for_uri(runnable_identifier) return runnable
def cli(ctx, uri, job_path, **kwds): """Planemo command for running tools and jobs. \b % planemo run cat1-tool.cwl cat-job.json """ path = uri_to_path(ctx, uri) kwds["cwl"] = path.endswith(".cwl") with engine_context(ctx, **kwds) as engine: run_result = engine.run(path, job_path) if not run_result.was_successful: warn("Run failed [%s]" % str(run_result)) ctx.exit(1) outputs_dict = run_result.outputs_dict print(outputs_dict) output_json = kwds.get("output_json", None) if output_json: with open(output_json, "w") as f: json.dump(outputs_dict, f) return 0
def cli(ctx, runnable_identifier, job_path, **kwds): """Planemo command for running tools and jobs. \b % planemo run cat1-tool.cwl cat-job.json """ runnable_identifier = translate_alias(ctx, runnable_identifier, kwds.get('profile')) path = uri_to_path(ctx, runnable_identifier) if os.path.exists(path): runnable = for_path(path) else: # assume galaxy workflow id runnable = for_id(runnable_identifier) # TODO: do a better test of cwl. is_cwl = path.endswith(".cwl") kwds["cwl"] = is_cwl if kwds.get("engine", None) is None: if is_cwl: kwds["engine"] = "cwltool" elif kwds.get('galaxy_url', None): kwds["engine"] = "external_galaxy" else: kwds["engine"] = "galaxy" with engine_context(ctx, **kwds) as engine: run_result = engine.run(runnable, job_path) if not run_result.was_successful: warn("Run failed [%s]" % unicodify(run_result)) ctx.exit(1) outputs_dict = run_result.outputs_dict output_json = kwds.get("output_json", None) if output_json: with open(output_json, "w") as f: json.dump(outputs_dict, f) return 0