From 9c2c74506226f4508985e86df7b1fa72f657f8b2 Mon Sep 17 00:00:00 2001 From: simleo Date: Tue, 10 Nov 2020 13:36:06 +0100 Subject: [PATCH 1/2] convert to cwl abstract with gxformat2 --- requirements.txt | 2 +- rocrate/rocrate_api.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements.txt b/requirements.txt index 4eca3b05..532ee987 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,5 +5,5 @@ pyld[requests]==1.0.5 requests==2.22.0 urllib3==1.25.6 arcp==0.2.1 -galaxy2cwl +gxformat2 jinja2 diff --git a/rocrate/rocrate_api.py b/rocrate/rocrate_api.py index c4f06540..e8bc192c 100644 --- a/rocrate/rocrate_api.py +++ b/rocrate/rocrate_api.py @@ -20,13 +20,12 @@ import atexit import os import tempfile -from contextlib import redirect_stdout from pathlib import Path import rocrate.rocrate as roc from rocrate.model import entity from rocrate.model.workflow import Workflow -from galaxy2cwl import get_cwl_interface +from gxformat2.yaml import ordered_dump, ordered_load def make_workflow_rocrate(workflow_path, wf_type, include_files=[], @@ -86,8 +85,9 @@ def make_workflow_rocrate(workflow_path, wf_type, include_files=[], if not cwl: # create cwl_abstract with tempfile.NamedTemporaryFile(mode='w', delete=False, suffix=".cwl") as f: - with redirect_stdout(f): - get_cwl_interface.main(['1', workflow_path]) + with open(workflow_path) as orig_f: + wf_dict = ordered_load(orig_f) + ordered_dump(wf_dict, f) atexit.register(os.unlink, f.name) abstract_wf_id = wf_path.with_suffix(".cwl").name abstract_wf_file = Workflow(wf_crate, f.name, abstract_wf_id) From 14eee0a2df234a514061a3202a4d3c17c66d0e09 Mon Sep 17 00:00:00 2001 From: ieguinoa Date: Wed, 11 Nov 2020 10:57:04 +0100 Subject: [PATCH 2/2] convert dict to abstract dict --- rocrate/rocrate_api.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rocrate/rocrate_api.py b/rocrate/rocrate_api.py index e8bc192c..b8e50994 100644 --- a/rocrate/rocrate_api.py +++ b/rocrate/rocrate_api.py @@ -26,7 +26,7 @@ from rocrate.model import entity from rocrate.model.workflow import Workflow from gxformat2.yaml import ordered_dump, ordered_load - +from gxformat2.abstract import from_dict def make_workflow_rocrate(workflow_path, wf_type, include_files=[], fetch_remote=False, cwl=None, diagram=None): @@ -87,7 +87,8 @@ def make_workflow_rocrate(workflow_path, wf_type, include_files=[], with tempfile.NamedTemporaryFile(mode='w', delete=False, suffix=".cwl") as f: with open(workflow_path) as orig_f: wf_dict = ordered_load(orig_f) - ordered_dump(wf_dict, f) + abstract_dict = from_dict(wf_dict) + ordered_dump(abstract_dict, f) atexit.register(os.unlink, f.name) abstract_wf_id = wf_path.with_suffix(".cwl").name abstract_wf_file = Workflow(wf_crate, f.name, abstract_wf_id)