arctrl 3.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arctrl/__init__.py +23 -0
- arctrl/cwl.py +12 -0
- arctrl/py/CWL/__init__.py +0 -0
- arctrl/py/CWL/cwlprocessing_unit.py +221 -0
- arctrl/py/CWL/cwltypes.py +364 -0
- arctrl/py/CWL/decode.py +3532 -0
- arctrl/py/CWL/encode.py +1905 -0
- arctrl/py/CWL/expression_tool_description.py +192 -0
- arctrl/py/CWL/hash_helpers.py +60 -0
- arctrl/py/CWL/inputs.py +122 -0
- arctrl/py/CWL/operation_description.py +169 -0
- arctrl/py/CWL/outputs.py +171 -0
- arctrl/py/CWL/parameter_reference.py +74 -0
- arctrl/py/CWL/requirements.py +350 -0
- arctrl/py/CWL/tool_description.py +192 -0
- arctrl/py/CWL/workflow_description.py +181 -0
- arctrl/py/CWL/workflow_steps.py +354 -0
- arctrl/py/Contract/__init__.py +0 -0
- arctrl/py/Contract/arc.py +89 -0
- arctrl/py/Contract/arc_assay.py +125 -0
- arctrl/py/Contract/arc_investigation.py +88 -0
- arctrl/py/Contract/arc_run.py +291 -0
- arctrl/py/Contract/arc_study.py +126 -0
- arctrl/py/Contract/arc_workflow.py +213 -0
- arctrl/py/Contract/contract.py +153 -0
- arctrl/py/Contract/datamap.py +396 -0
- arctrl/py/Contract/git.py +116 -0
- arctrl/py/Contract/license.py +58 -0
- arctrl/py/Contract/validation_packages_config.py +107 -0
- arctrl/py/ContractIO/__init__.py +0 -0
- arctrl/py/ContractIO/contract_io.py +350 -0
- arctrl/py/ContractIO/file_system_helper.py +264 -0
- arctrl/py/Conversion/__init__.py +0 -0
- arctrl/py/Conversion/assay.py +151 -0
- arctrl/py/Conversion/basic.py +559 -0
- arctrl/py/Conversion/column_index.py +91 -0
- arctrl/py/Conversion/datamap.py +36 -0
- arctrl/py/Conversion/date_time.py +32 -0
- arctrl/py/Conversion/investigation.py +171 -0
- arctrl/py/Conversion/person.py +148 -0
- arctrl/py/Conversion/process.py +828 -0
- arctrl/py/Conversion/run.py +367 -0
- arctrl/py/Conversion/scholarly_article.py +163 -0
- arctrl/py/Conversion/study.py +99 -0
- arctrl/py/Conversion/table.py +229 -0
- arctrl/py/Conversion/workflow.py +680 -0
- arctrl/py/Core/Helper/__init__.py +0 -0
- arctrl/py/Core/Helper/collections_.py +512 -0
- arctrl/py/Core/Helper/date_time.py +26 -0
- arctrl/py/Core/Helper/hash_codes.py +60 -0
- arctrl/py/Core/Helper/identifier.py +290 -0
- arctrl/py/Core/Helper/orcid.py +42 -0
- arctrl/py/Core/Helper/printer.py +13 -0
- arctrl/py/Core/Helper/regex.py +554 -0
- arctrl/py/Core/Helper/sem_ver.py +71 -0
- arctrl/py/Core/Helper/url.py +148 -0
- arctrl/py/Core/Process/__init__.py +0 -0
- arctrl/py/Core/Process/column_index.py +280 -0
- arctrl/py/Core/Process/component.py +200 -0
- arctrl/py/Core/Process/factor.py +151 -0
- arctrl/py/Core/Process/factor_value.py +182 -0
- arctrl/py/Core/Process/material.py +74 -0
- arctrl/py/Core/Process/material_attribute.py +95 -0
- arctrl/py/Core/Process/material_attribute_value.py +184 -0
- arctrl/py/Core/Process/material_type.py +45 -0
- arctrl/py/Core/Process/process.py +477 -0
- arctrl/py/Core/Process/process_input.py +265 -0
- arctrl/py/Core/Process/process_output.py +235 -0
- arctrl/py/Core/Process/process_parameter_value.py +200 -0
- arctrl/py/Core/Process/process_sequence.py +435 -0
- arctrl/py/Core/Process/protocol.py +175 -0
- arctrl/py/Core/Process/protocol_parameter.py +98 -0
- arctrl/py/Core/Process/sample.py +82 -0
- arctrl/py/Core/Process/source.py +62 -0
- arctrl/py/Core/Table/__init__.py +0 -0
- arctrl/py/Core/Table/arc_table.py +1206 -0
- arctrl/py/Core/Table/arc_table_aux.py +1308 -0
- arctrl/py/Core/Table/arc_tables.py +574 -0
- arctrl/py/Core/Table/composite_cell.py +319 -0
- arctrl/py/Core/Table/composite_column.py +73 -0
- arctrl/py/Core/Table/composite_header.py +739 -0
- arctrl/py/Core/__init__.py +0 -0
- arctrl/py/Core/arc_types.py +5312 -0
- arctrl/py/Core/comment.py +128 -0
- arctrl/py/Core/comment_list.py +127 -0
- arctrl/py/Core/conversion.py +1375 -0
- arctrl/py/Core/data.py +247 -0
- arctrl/py/Core/data_context.py +157 -0
- arctrl/py/Core/data_file.py +112 -0
- arctrl/py/Core/datamap.py +217 -0
- arctrl/py/Core/identifier_setters.py +43 -0
- arctrl/py/Core/iproperty_value.py +36 -0
- arctrl/py/Core/ontology_annotation.py +298 -0
- arctrl/py/Core/ontology_source_reference.py +114 -0
- arctrl/py/Core/person.py +259 -0
- arctrl/py/Core/publication.py +161 -0
- arctrl/py/Core/template.py +231 -0
- arctrl/py/Core/templates.py +148 -0
- arctrl/py/Core/uri.py +11 -0
- arctrl/py/Core/value.py +188 -0
- arctrl/py/FileSystem/__init__.py +0 -0
- arctrl/py/FileSystem/commit.py +21 -0
- arctrl/py/FileSystem/default_gitattributes.py +1 -0
- arctrl/py/FileSystem/default_gitignore.py +1 -0
- arctrl/py/FileSystem/default_license.py +1 -0
- arctrl/py/FileSystem/file_system.py +58 -0
- arctrl/py/FileSystem/file_system_tree.py +483 -0
- arctrl/py/FileSystem/path.py +266 -0
- arctrl/py/Json/Datamap/__init__.py +0 -0
- arctrl/py/Json/Datamap/data_context.py +101 -0
- arctrl/py/Json/Datamap/datamap.py +53 -0
- arctrl/py/Json/Process/__init__.py +0 -0
- arctrl/py/Json/Process/assay_materials.py +46 -0
- arctrl/py/Json/Process/component.py +125 -0
- arctrl/py/Json/Process/factor.py +107 -0
- arctrl/py/Json/Process/factor_value.py +101 -0
- arctrl/py/Json/Process/material.py +226 -0
- arctrl/py/Json/Process/material_attribute.py +79 -0
- arctrl/py/Json/Process/material_attribute_value.py +101 -0
- arctrl/py/Json/Process/material_type.py +53 -0
- arctrl/py/Json/Process/process.py +296 -0
- arctrl/py/Json/Process/process_input.py +83 -0
- arctrl/py/Json/Process/process_output.py +67 -0
- arctrl/py/Json/Process/process_parameter_value.py +81 -0
- arctrl/py/Json/Process/protocol.py +354 -0
- arctrl/py/Json/Process/protocol_parameter.py +91 -0
- arctrl/py/Json/Process/sample.py +277 -0
- arctrl/py/Json/Process/source.py +214 -0
- arctrl/py/Json/Process/study_materials.py +52 -0
- arctrl/py/Json/Process/value.py +56 -0
- arctrl/py/Json/ROCrate/__init__.py +0 -0
- arctrl/py/Json/ROCrate/ldcontext.py +143 -0
- arctrl/py/Json/ROCrate/ldgraph.py +117 -0
- arctrl/py/Json/ROCrate/ldnode.py +304 -0
- arctrl/py/Json/ROCrate/ldref.py +44 -0
- arctrl/py/Json/ROCrate/ldvalue.py +102 -0
- arctrl/py/Json/Table/__init__.py +0 -0
- arctrl/py/Json/Table/arc_table.py +375 -0
- arctrl/py/Json/Table/cell_table.py +83 -0
- arctrl/py/Json/Table/composite_cell.py +136 -0
- arctrl/py/Json/Table/composite_header.py +67 -0
- arctrl/py/Json/Table/iotype.py +24 -0
- arctrl/py/Json/Table/oatable.py +82 -0
- arctrl/py/Json/Table/templates.py +281 -0
- arctrl/py/Json/__init__.py +0 -0
- arctrl/py/Json/assay.py +600 -0
- arctrl/py/Json/comment.py +206 -0
- arctrl/py/Json/context/rocrate/__init__.py +0 -0
- arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
- arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
- arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
- arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
- arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
- arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
- arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
- arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
- arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
- arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
- arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
- arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
- arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
- arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
- arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
- arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
- arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
- arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
- arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
- arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
- arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
- arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
- arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
- arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
- arctrl/py/Json/converter_options.py +23 -0
- arctrl/py/Json/data.py +356 -0
- arctrl/py/Json/data_file.py +63 -0
- arctrl/py/Json/decode.py +271 -0
- arctrl/py/Json/encode.py +140 -0
- arctrl/py/Json/idtable.py +44 -0
- arctrl/py/Json/investigation.py +695 -0
- arctrl/py/Json/ontology_annotation.py +404 -0
- arctrl/py/Json/ontology_source_reference.py +255 -0
- arctrl/py/Json/person.py +658 -0
- arctrl/py/Json/property_value.py +359 -0
- arctrl/py/Json/publication.py +279 -0
- arctrl/py/Json/run.py +275 -0
- arctrl/py/Json/string_table.py +87 -0
- arctrl/py/Json/study.py +793 -0
- arctrl/py/Json/workflow.py +307 -0
- arctrl/py/JsonIO/Process/__init__.py +0 -0
- arctrl/py/JsonIO/Process/component.py +60 -0
- arctrl/py/JsonIO/Process/factor.py +36 -0
- arctrl/py/JsonIO/Process/factor_value.py +38 -0
- arctrl/py/JsonIO/Process/material.py +60 -0
- arctrl/py/JsonIO/Process/material_attribute.py +38 -0
- arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
- arctrl/py/JsonIO/Process/material_type.py +36 -0
- arctrl/py/JsonIO/Process/process.py +60 -0
- arctrl/py/JsonIO/Process/process_input.py +38 -0
- arctrl/py/JsonIO/Process/process_output.py +60 -0
- arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
- arctrl/py/JsonIO/Process/process_sequence.py +71 -0
- arctrl/py/JsonIO/Process/protocol.py +60 -0
- arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
- arctrl/py/JsonIO/Process/sample.py +60 -0
- arctrl/py/JsonIO/Process/source.py +60 -0
- arctrl/py/JsonIO/Process/study_materials.py +52 -0
- arctrl/py/JsonIO/Process/value.py +32 -0
- arctrl/py/JsonIO/Table/__init__.py +0 -0
- arctrl/py/JsonIO/Table/arc_table.py +103 -0
- arctrl/py/JsonIO/Table/composite_cell.py +36 -0
- arctrl/py/JsonIO/Table/composite_header.py +36 -0
- arctrl/py/JsonIO/Table/compression.py +67 -0
- arctrl/py/JsonIO/Table/iotype.py +36 -0
- arctrl/py/JsonIO/Table/templates.py +113 -0
- arctrl/py/JsonIO/__init__.py +0 -0
- arctrl/py/JsonIO/assay.py +113 -0
- arctrl/py/JsonIO/comment.py +80 -0
- arctrl/py/JsonIO/data.py +60 -0
- arctrl/py/JsonIO/data_file.py +58 -0
- arctrl/py/JsonIO/datamap.py +36 -0
- arctrl/py/JsonIO/decode.py +9 -0
- arctrl/py/JsonIO/encode.py +1 -0
- arctrl/py/JsonIO/investigation.py +91 -0
- arctrl/py/JsonIO/ldobject.py +106 -0
- arctrl/py/JsonIO/ontology_annotation.py +80 -0
- arctrl/py/JsonIO/ontology_source_reference.py +80 -0
- arctrl/py/JsonIO/person.py +82 -0
- arctrl/py/JsonIO/publication.py +82 -0
- arctrl/py/JsonIO/run.py +68 -0
- arctrl/py/JsonIO/study.py +114 -0
- arctrl/py/JsonIO/workflow.py +68 -0
- arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
- arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
- arctrl/py/ROCrate/ISAProfile/data.py +65 -0
- arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
- arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
- arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
- arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
- arctrl/py/ROCrate/ISAProfile/person.py +72 -0
- arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
- arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
- arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
- arctrl/py/ROCrate/ISAProfile/study.py +74 -0
- arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
- arctrl/py/ROCrate/LDTypes/comment.py +131 -0
- arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
- arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
- arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
- arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
- arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
- arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
- arctrl/py/ROCrate/LDTypes/file.py +281 -0
- arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
- arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
- arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
- arctrl/py/ROCrate/LDTypes/organization.py +83 -0
- arctrl/py/ROCrate/LDTypes/person.py +484 -0
- arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
- arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
- arctrl/py/ROCrate/LDTypes/sample.py +202 -0
- arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
- arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
- arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
- arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
- arctrl/py/ROCrate/__init__.py +0 -0
- arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
- arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
- arctrl/py/ROCrate/helper.py +8 -0
- arctrl/py/ROCrate/ldcontext.py +406 -0
- arctrl/py/ROCrate/ldobject.py +1247 -0
- arctrl/py/ROCrate/rocrate_context.py +51 -0
- arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
- arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
- arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
- arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
- arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
- arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
- arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
- arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
- arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
- arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
- arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
- arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
- arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
- arctrl/py/Spreadsheet/Metadata/run.py +122 -0
- arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
- arctrl/py/Spreadsheet/Metadata/study.py +312 -0
- arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
- arctrl/py/Spreadsheet/__init__.py +0 -0
- arctrl/py/Spreadsheet/arc_assay.py +233 -0
- arctrl/py/Spreadsheet/arc_investigation.py +435 -0
- arctrl/py/Spreadsheet/arc_run.py +190 -0
- arctrl/py/Spreadsheet/arc_study.py +144 -0
- arctrl/py/Spreadsheet/arc_workflow.py +177 -0
- arctrl/py/Spreadsheet/assembly_info.py +1 -0
- arctrl/py/Spreadsheet/collection_aux.py +167 -0
- arctrl/py/Spreadsheet/datamap.py +43 -0
- arctrl/py/Spreadsheet/template.py +460 -0
- arctrl/py/ValidationPackages/__init__.py +0 -0
- arctrl/py/ValidationPackages/validation_package.py +82 -0
- arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
- arctrl/py/WebRequest/__init__.py +0 -0
- arctrl/py/WebRequest/web_request.py +9 -0
- arctrl/py/WebRequest/web_request_py.py +135 -0
- arctrl/py/WorkflowGraph/__init__.py +0 -0
- arctrl/py/WorkflowGraph/adapters.py +141 -0
- arctrl/py/WorkflowGraph/build_options.py +45 -0
- arctrl/py/WorkflowGraph/builder.py +720 -0
- arctrl/py/WorkflowGraph/graph_types.py +260 -0
- arctrl/py/WorkflowGraph/query_helpers.py +76 -0
- arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
- arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
- arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
- arctrl/py/Yaml/__init__.py +0 -0
- arctrl/py/Yaml/decode.py +1 -0
- arctrl/py/Yaml/encode.py +10 -0
- arctrl/py/Yaml/validation_package.py +77 -0
- arctrl/py/Yaml/validation_packages_config.py +86 -0
- arctrl/py/__init__.py +0 -0
- arctrl/py/arc.py +1891 -0
- arctrl/py/column_index.py +280 -0
- arctrl/py/conversion.py +142 -0
- arctrl/py/cross_async.py +76 -0
- arctrl/py/cwlrun_resolver.py +228 -0
- arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
- arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
- arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
- arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
- arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
- arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
- arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
- arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
- arctrl/py/fable_modules/fable_library/__init__.py +0 -0
- arctrl/py/fable_modules/fable_library/array_.py +1528 -0
- arctrl/py/fable_modules/fable_library/async_.py +377 -0
- arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
- arctrl/py/fable_modules/fable_library/big_int.py +330 -0
- arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
- arctrl/py/fable_modules/fable_library/boolean.py +26 -0
- arctrl/py/fable_modules/fable_library/char.py +237 -0
- arctrl/py/fable_modules/fable_library/choice.py +212 -0
- arctrl/py/fable_modules/fable_library/date.py +779 -0
- arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
- arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
- arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
- arctrl/py/fable_modules/fable_library/double.py +87 -0
- arctrl/py/fable_modules/fable_library/encoding.py +41 -0
- arctrl/py/fable_modules/fable_library/event.py +206 -0
- arctrl/py/fable_modules/fable_library/file.py +107 -0
- arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
- arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
- arctrl/py/fable_modules/fable_library/global_.py +63 -0
- arctrl/py/fable_modules/fable_library/guid.py +41 -0
- arctrl/py/fable_modules/fable_library/int32.py +73 -0
- arctrl/py/fable_modules/fable_library/list.py +1788 -0
- arctrl/py/fable_modules/fable_library/long.py +240 -0
- arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
- arctrl/py/fable_modules/fable_library/map.py +1854 -0
- arctrl/py/fable_modules/fable_library/map_util.py +148 -0
- arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
- arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
- arctrl/py/fable_modules/fable_library/native.py +45 -0
- arctrl/py/fable_modules/fable_library/numeric.py +46 -0
- arctrl/py/fable_modules/fable_library/observable.py +222 -0
- arctrl/py/fable_modules/fable_library/option.py +128 -0
- arctrl/py/fable_modules/fable_library/path.py +62 -0
- arctrl/py/fable_modules/fable_library/range.py +117 -0
- arctrl/py/fable_modules/fable_library/reflection.py +463 -0
- arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
- arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
- arctrl/py/fable_modules/fable_library/result.py +212 -0
- arctrl/py/fable_modules/fable_library/seq.py +1979 -0
- arctrl/py/fable_modules/fable_library/seq2.py +221 -0
- arctrl/py/fable_modules/fable_library/set.py +2414 -0
- arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
- arctrl/py/fable_modules/fable_library/string_.py +573 -0
- arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
- arctrl/py/fable_modules/fable_library/system_text.py +237 -0
- arctrl/py/fable_modules/fable_library/task.py +116 -0
- arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
- arctrl/py/fable_modules/fable_library/thread.py +5 -0
- arctrl/py/fable_modules/fable_library/time_span.py +283 -0
- arctrl/py/fable_modules/fable_library/timer.py +24 -0
- arctrl/py/fable_modules/fable_library/types.py +401 -0
- arctrl/py/fable_modules/fable_library/uri.py +109 -0
- arctrl/py/fable_modules/fable_library/util.py +2735 -0
- arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
- arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
- arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
- arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
- arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
- arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
- arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
- arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
- arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
- arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
- arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
- arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
- arctrl/py/fable_modules/siren/__init__.py +0 -0
- arctrl/py/fable_modules/siren/config.py +1038 -0
- arctrl/py/fable_modules/siren/formatting.py +1121 -0
- arctrl/py/fable_modules/siren/siren.py +1941 -0
- arctrl/py/fable_modules/siren/siren_types.py +1229 -0
- arctrl/py/fable_modules/siren/theme_variables.py +517 -0
- arctrl/py/fable_modules/siren/util.py +37 -0
- arctrl/py/fable_modules/siren/yaml.py +101 -0
- arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
- arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
- arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
- arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
- arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
- arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
- arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
- arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
- arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
- arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
- arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
- arctrl/py/fable_modules/yamlicious/encode.py +84 -0
- arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
- arctrl/py/fable_modules/yamlicious/library.py +10 -0
- arctrl/py/fable_modules/yamlicious/persil.py +57 -0
- arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
- arctrl/py/fable_modules/yamlicious/reader.py +739 -0
- arctrl/py/fable_modules/yamlicious/regex.py +29 -0
- arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
- arctrl/py/fable_modules/yamlicious/writer.py +175 -0
- arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
- arctrl/py/json.py +389 -0
- arctrl/py/license.py +169 -0
- arctrl/py/rocrate_io.py +242 -0
- arctrl/py/template_web.py +23 -0
- arctrl/py/xlsx.py +212 -0
- arctrl/py/yaml.py +79 -0
- arctrl/rocrate.py +21 -0
- arctrl-3.0.0.dist-info/METADATA +157 -0
- arctrl-3.0.0.dist-info/RECORD +511 -0
- arctrl-3.0.0.dist-info/WHEEL +4 -0
- arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,680 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import Any
|
|
4
|
+
from ..Core.arc_types import ArcWorkflow
|
|
5
|
+
from ..Core.comment import Comment
|
|
6
|
+
from ..Core.datamap import Datamap
|
|
7
|
+
from ..Core.Helper.collections_ import (ResizeArray_map, ResizeArray_singleton, Option_fromSeq, ResizeArray_choose, ResizeArray_appendSingleton, Option_fromValueWithDefault)
|
|
8
|
+
from ..Core.Helper.identifier import Workflow_cwlFileNameFromIdentifier
|
|
9
|
+
from ..Core.ontology_annotation import OntologyAnnotation
|
|
10
|
+
from ..Core.person import Person
|
|
11
|
+
from ..Core.Process.component import (Component, Component_create_Z2F0B38C7)
|
|
12
|
+
from ..Core.value import Value as Value_3
|
|
13
|
+
from ..CWL.cwlprocessing_unit import (CWLProcessingUnit_getInputs_30922B92, CWLProcessingUnit)
|
|
14
|
+
from ..CWL.cwltypes import CWLType
|
|
15
|
+
from ..CWL.decode import (Decode_cwlTypeStringMatcher, Decode_cwlTypeDecoder_0027)
|
|
16
|
+
from ..CWL.encode import (is_complex_type, cwl_type_to_yaml_string, write_yaml, encode_cwltype)
|
|
17
|
+
from ..CWL.expression_tool_description import CWLExpressionToolDescription
|
|
18
|
+
from ..CWL.inputs import (InputBinding, CWLInput, InputBinding_create_ZAC0108A)
|
|
19
|
+
from ..CWL.operation_description import CWLOperationDescription
|
|
20
|
+
from ..CWL.outputs import (OutputBinding, CWLOutput, OutputBinding_create_6DFDD678)
|
|
21
|
+
from ..CWL.tool_description import CWLToolDescription
|
|
22
|
+
from ..CWL.workflow_description import CWLWorkflowDescription
|
|
23
|
+
from ..CWL.workflow_steps import (WorkflowStepRun, WorkflowStep)
|
|
24
|
+
from ..FileSystem.file_system import FileSystem
|
|
25
|
+
from ..FileSystem.path import normalize
|
|
26
|
+
from ..ROCrate.ldcontext import LDContext
|
|
27
|
+
from ..ROCrate.ldobject import (LDNode, LDGraph)
|
|
28
|
+
from ..ROCrate.LDTypes.computational_workflow import LDComputationalWorkflow
|
|
29
|
+
from ..ROCrate.LDTypes.computer_language import LDComputerLanguage
|
|
30
|
+
from ..ROCrate.LDTypes.dataset import LDDataset
|
|
31
|
+
from ..ROCrate.LDTypes.formal_parameter import LDFormalParameter
|
|
32
|
+
from ..ROCrate.LDTypes.lab_protocol import LDLabProtocol
|
|
33
|
+
from ..ROCrate.LDTypes.organization import LDOrganization
|
|
34
|
+
from ..ROCrate.LDTypes.property_value import LDPropertyValue
|
|
35
|
+
from ..ROCrate.LDTypes.workflow_protocol import LDWorkflowProtocol
|
|
36
|
+
from ..cwlrun_resolver import resolve_workflow_step_run_from_lookup
|
|
37
|
+
from ..fable_modules.fable_library.array_ import try_pick as try_pick_1
|
|
38
|
+
from ..fable_modules.fable_library.date import utc_now
|
|
39
|
+
from ..fable_modules.fable_library.list import (is_empty, head, tail)
|
|
40
|
+
from ..fable_modules.fable_library.option import (default_arg, bind, map, value as value_2)
|
|
41
|
+
from ..fable_modules.fable_library.reflection import (TypeInfo, class_type)
|
|
42
|
+
from ..fable_modules.fable_library.seq import (try_pick, exactly_one, to_array, find)
|
|
43
|
+
from ..fable_modules.fable_library.seq2 import distinct
|
|
44
|
+
from ..fable_modules.fable_library.string_ import (to_fail, printf)
|
|
45
|
+
from ..fable_modules.fable_library.types import (Array, to_string)
|
|
46
|
+
from ..fable_modules.fable_library.util import (int32_to_string, to_enumerable, string_hash)
|
|
47
|
+
from ..fable_modules.yamlicious.decode import (object, IGetters)
|
|
48
|
+
from ..fable_modules.yamlicious.reader import read
|
|
49
|
+
from ..fable_modules.yamlicious.yamlicious_types import YAMLElement
|
|
50
|
+
from .basic import (BaseTypes_decomposePropertyValue_Z2F770004, BaseTypes_composeDefinedTerm_ZDED3A0F, BaseTypes_composeComment_Z13201A7E, BaseTypes_decomposeDefinedTerm_Z2F770004, BaseTypes_decomposeComment_Z2F770004)
|
|
51
|
+
from .datamap import (DatamapConversion_composeFragmentDescriptors_Z892BFC3, DatamapConversion_decomposeFragmentDescriptors_Z6E59645F)
|
|
52
|
+
from .person import (PersonConversion_composePerson_Z64D846DC, PersonConversion_decomposePerson_Z6839B9E8)
|
|
53
|
+
|
|
54
|
+
def _expr4386() -> TypeInfo:
|
|
55
|
+
return class_type("ARCtrl.Conversion.WorkflowConversion", None, WorkflowConversion)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class WorkflowConversion:
|
|
59
|
+
...
|
|
60
|
+
|
|
61
|
+
WorkflowConversion_reflection = _expr4386
|
|
62
|
+
|
|
63
|
+
def WorkflowConversion_composeAdditionalType_Z5C31A0F9(t: CWLType) -> str:
|
|
64
|
+
if is_complex_type(t):
|
|
65
|
+
return cwl_type_to_yaml_string(t)
|
|
66
|
+
|
|
67
|
+
else:
|
|
68
|
+
s: str = write_yaml(encode_cwltype(t))
|
|
69
|
+
return s.strip()
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def WorkflowConversion_decomposeAdditionalType_Z721C83C5(t: str) -> CWLType:
|
|
74
|
+
yaml_element: YAMLElement = read(t)
|
|
75
|
+
(pattern_matching_result, items) = (None, None)
|
|
76
|
+
if yaml_element.tag == 1:
|
|
77
|
+
pattern_matching_result = 0
|
|
78
|
+
|
|
79
|
+
elif yaml_element.tag == 3:
|
|
80
|
+
if not is_empty(yaml_element.fields[0]):
|
|
81
|
+
if head(yaml_element.fields[0]).tag == 2:
|
|
82
|
+
if is_empty(tail(yaml_element.fields[0])):
|
|
83
|
+
pattern_matching_result = 1
|
|
84
|
+
items = head(yaml_element.fields[0]).fields[0]
|
|
85
|
+
|
|
86
|
+
else:
|
|
87
|
+
pattern_matching_result = 2
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
else:
|
|
91
|
+
pattern_matching_result = 2
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
else:
|
|
95
|
+
pattern_matching_result = 2
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
else:
|
|
99
|
+
pattern_matching_result = 2
|
|
100
|
+
|
|
101
|
+
if pattern_matching_result == 0:
|
|
102
|
+
def _arrow4387(get: IGetters, t: Any=t) -> tuple[CWLType, bool]:
|
|
103
|
+
return Decode_cwlTypeStringMatcher(t, get)
|
|
104
|
+
|
|
105
|
+
return object(_arrow4387, YAMLElement(4, "unused-shorthand-context"))[0]
|
|
106
|
+
|
|
107
|
+
elif pattern_matching_result == 1:
|
|
108
|
+
return Decode_cwlTypeDecoder_0027(YAMLElement(2, items))
|
|
109
|
+
|
|
110
|
+
elif pattern_matching_result == 2:
|
|
111
|
+
return Decode_cwlTypeDecoder_0027(yaml_element)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def WorkflowConversion_composeFormalParamInputIdentifiers(prefix: str | None=None, position: int | None=None) -> Array[LDNode] | None:
|
|
116
|
+
if prefix is None:
|
|
117
|
+
if position is None:
|
|
118
|
+
return None
|
|
119
|
+
|
|
120
|
+
else:
|
|
121
|
+
po_1: int = position or 0
|
|
122
|
+
return [LDPropertyValue.create_position(po_1)]
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
elif position is None:
|
|
126
|
+
pr_1: str = prefix
|
|
127
|
+
return [LDPropertyValue.create_prefix(pr_1)]
|
|
128
|
+
|
|
129
|
+
else:
|
|
130
|
+
po: int = position or 0
|
|
131
|
+
pr: str = prefix
|
|
132
|
+
return [LDPropertyValue.create_position(po), LDPropertyValue.create_prefix(pr)]
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(inp: CWLInput, workflow_name: str | None=None, run_name: str | None=None) -> LDNode:
|
|
137
|
+
additional_type: str
|
|
138
|
+
match_value: CWLType | None = inp.Type_
|
|
139
|
+
if match_value is None:
|
|
140
|
+
raise Exception("Input must have a type")
|
|
141
|
+
|
|
142
|
+
else:
|
|
143
|
+
additional_type = WorkflowConversion_composeAdditionalType_Z5C31A0F9(match_value)
|
|
144
|
+
|
|
145
|
+
value_required: bool = not default_arg(inp.Optional, False)
|
|
146
|
+
id: str = LDFormalParameter.gen_id(inp.Name, workflow_name, run_name)
|
|
147
|
+
def binder(ib: InputBinding, inp: Any=inp, workflow_name: Any=workflow_name, run_name: Any=run_name) -> Array[LDNode] | None:
|
|
148
|
+
return WorkflowConversion_composeFormalParamInputIdentifiers(ib.Prefix, ib.Position)
|
|
149
|
+
|
|
150
|
+
identifiers: Array[LDNode] | None = bind(binder, inp.InputBinding)
|
|
151
|
+
return LDFormalParameter.create(additional_type, id, None, inp.Name, None, None, None, None, value_required, identifiers)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def WorkflowConversion_decomposeInputBindings_1AAAE9A5(identifiers: Array[LDNode], context: LDContext | None=None) -> InputBinding | None:
|
|
155
|
+
def _arrow4388(n: LDNode, identifiers: Any=identifiers, context: Any=context) -> str | None:
|
|
156
|
+
return LDPropertyValue.try_get_as_prefix(n, context)
|
|
157
|
+
|
|
158
|
+
prefix: str | None = try_pick(_arrow4388, identifiers)
|
|
159
|
+
def _arrow4389(n_1: LDNode, identifiers: Any=identifiers, context: Any=context) -> int | None:
|
|
160
|
+
return LDPropertyValue.try_get_as_position(n_1, context)
|
|
161
|
+
|
|
162
|
+
position: int | None = try_pick(_arrow4389, identifiers)
|
|
163
|
+
(pattern_matching_result,) = (None,)
|
|
164
|
+
if prefix is None:
|
|
165
|
+
if position is None:
|
|
166
|
+
pattern_matching_result = 0
|
|
167
|
+
|
|
168
|
+
else:
|
|
169
|
+
pattern_matching_result = 1
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
else:
|
|
173
|
+
pattern_matching_result = 1
|
|
174
|
+
|
|
175
|
+
if pattern_matching_result == 0:
|
|
176
|
+
return None
|
|
177
|
+
|
|
178
|
+
elif pattern_matching_result == 1:
|
|
179
|
+
return InputBinding_create_ZAC0108A(prefix, position)
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
def WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(inp: LDNode, context: LDContext | None=None, graph: LDGraph | None=None) -> CWLInput:
|
|
184
|
+
t_1: CWLType = WorkflowConversion_decomposeAdditionalType_Z721C83C5(exactly_one(inp.AdditionalType))
|
|
185
|
+
binding: InputBinding | None = WorkflowConversion_decomposeInputBindings_1AAAE9A5(LDFormalParameter.get_identifiers(inp, graph, context), context)
|
|
186
|
+
optional: bool | None
|
|
187
|
+
match_value: bool | None = LDFormalParameter.try_get_value_required_as_boolean(inp, context)
|
|
188
|
+
(pattern_matching_result,) = (None,)
|
|
189
|
+
if match_value is not None:
|
|
190
|
+
if match_value:
|
|
191
|
+
pattern_matching_result = 0
|
|
192
|
+
|
|
193
|
+
else:
|
|
194
|
+
pattern_matching_result = 1
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
else:
|
|
198
|
+
pattern_matching_result = 1
|
|
199
|
+
|
|
200
|
+
if pattern_matching_result == 0:
|
|
201
|
+
optional = None
|
|
202
|
+
|
|
203
|
+
elif pattern_matching_result == 1:
|
|
204
|
+
optional = True
|
|
205
|
+
|
|
206
|
+
return CWLInput(LDFormalParameter.get_name_as_string(inp, context), t_1, binding, optional)
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
def WorkflowConversion_composeFormalParameterOutputIdentifiers_6DFDD678(glob: str | None=None) -> Array[LDNode] | None:
|
|
210
|
+
if glob is None:
|
|
211
|
+
return None
|
|
212
|
+
|
|
213
|
+
else:
|
|
214
|
+
g: str = glob
|
|
215
|
+
return [LDPropertyValue.create_glob(g)]
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
def WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(out: CWLOutput, workflow_name: str | None=None, run_name: str | None=None) -> LDNode:
|
|
220
|
+
additional_type: str
|
|
221
|
+
match_value: CWLType | None = out.Type_
|
|
222
|
+
if match_value is None:
|
|
223
|
+
raise Exception("Output must have a type")
|
|
224
|
+
|
|
225
|
+
else:
|
|
226
|
+
additional_type = WorkflowConversion_composeAdditionalType_Z5C31A0F9(match_value)
|
|
227
|
+
|
|
228
|
+
id: str = LDFormalParameter.gen_id(out.Name, workflow_name, run_name)
|
|
229
|
+
def binder(ob: OutputBinding, out: Any=out, workflow_name: Any=workflow_name, run_name: Any=run_name) -> Array[LDNode] | None:
|
|
230
|
+
return WorkflowConversion_composeFormalParameterOutputIdentifiers_6DFDD678(ob.Glob)
|
|
231
|
+
|
|
232
|
+
identifiers: Array[LDNode] | None = bind(binder, out.OutputBinding)
|
|
233
|
+
return LDFormalParameter.create(additional_type, id, None, out.Name, None, None, None, None, True, identifiers)
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
def WorkflowConversion_decomposeOutputBindings_1AAAE9A5(identifiers: Array[LDNode], context: LDContext | None=None) -> OutputBinding:
|
|
237
|
+
def _arrow4390(n: LDNode, identifiers: Any=identifiers, context: Any=context) -> str | None:
|
|
238
|
+
return LDPropertyValue.try_get_as_glob(n, context)
|
|
239
|
+
|
|
240
|
+
return OutputBinding_create_6DFDD678(try_pick(_arrow4390, identifiers))
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
def WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(outp: LDNode, context: LDContext | None=None, graph: LDGraph | None=None) -> CWLOutput:
|
|
244
|
+
t_1: CWLType = WorkflowConversion_decomposeAdditionalType_Z721C83C5(exactly_one(outp.AdditionalType))
|
|
245
|
+
binding: OutputBinding = WorkflowConversion_decomposeOutputBindings_1AAAE9A5(LDFormalParameter.get_identifiers(outp, graph, context), context)
|
|
246
|
+
def _arrow4391(value: bool, outp: Any=outp, context: Any=context, graph: Any=graph) -> bool:
|
|
247
|
+
return not value
|
|
248
|
+
|
|
249
|
+
optional: bool | None = map(_arrow4391, LDFormalParameter.try_get_value_required_as_boolean(outp, context))
|
|
250
|
+
return CWLOutput(LDFormalParameter.get_name_as_string(outp, context), t_1, binding)
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
def WorkflowConversion_composeComputationalTool_Z685B8F25(tool: Component) -> LDNode:
|
|
254
|
+
pattern_input: tuple[str, str | None]
|
|
255
|
+
match_value: OntologyAnnotation | None = tool.ComponentType
|
|
256
|
+
(pattern_matching_result, c_1) = (None, None)
|
|
257
|
+
if match_value is not None:
|
|
258
|
+
def _arrow4392(__unit: None=None, tool: Any=tool) -> bool:
|
|
259
|
+
c: OntologyAnnotation = match_value
|
|
260
|
+
return c.Name is not None
|
|
261
|
+
|
|
262
|
+
if _arrow4392():
|
|
263
|
+
pattern_matching_result = 0
|
|
264
|
+
c_1 = match_value
|
|
265
|
+
|
|
266
|
+
else:
|
|
267
|
+
pattern_matching_result = 1
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
else:
|
|
271
|
+
pattern_matching_result = 1
|
|
272
|
+
|
|
273
|
+
if pattern_matching_result == 0:
|
|
274
|
+
pattern_input = (value_2(c_1.Name), c_1.TermAccessionNumber)
|
|
275
|
+
|
|
276
|
+
elif pattern_matching_result == 1:
|
|
277
|
+
raise Exception("Component must have a type")
|
|
278
|
+
|
|
279
|
+
pattern_input_1: tuple[str | None, str | None]
|
|
280
|
+
match_value_1: Value_3 | None = tool.ComponentValue
|
|
281
|
+
def _arrow4393(__unit: None=None, tool: Any=tool) -> tuple[str | None, str | None]:
|
|
282
|
+
f: float = match_value_1.fields[0]
|
|
283
|
+
return (to_string(f), None)
|
|
284
|
+
|
|
285
|
+
def _arrow4394(__unit: None=None, tool: Any=tool) -> tuple[str | None, str | None]:
|
|
286
|
+
i: int = match_value_1.fields[0] or 0
|
|
287
|
+
return (int32_to_string(i), None)
|
|
288
|
+
|
|
289
|
+
def _arrow4395(__unit: None=None, tool: Any=tool) -> tuple[str | None, str | None]:
|
|
290
|
+
oa: OntologyAnnotation = match_value_1.fields[0]
|
|
291
|
+
return (oa.Name, oa.TermAccessionNumber)
|
|
292
|
+
|
|
293
|
+
def _arrow4396(__unit: None=None, tool: Any=tool) -> tuple[str | None, str | None]:
|
|
294
|
+
s: str = match_value_1.fields[0]
|
|
295
|
+
return (s, None)
|
|
296
|
+
|
|
297
|
+
pattern_input_1 = ((None, None)) if (match_value_1 is None) else (_arrow4393() if (match_value_1.tag == 2) else (_arrow4394() if (match_value_1.tag == 1) else (_arrow4395() if (match_value_1.tag == 0) else _arrow4396())))
|
|
298
|
+
pattern_input_2: tuple[str | None, str | None]
|
|
299
|
+
match_value_2: OntologyAnnotation | None = tool.ComponentUnit
|
|
300
|
+
if match_value_2 is None:
|
|
301
|
+
pattern_input_2 = (None, None)
|
|
302
|
+
|
|
303
|
+
else:
|
|
304
|
+
oa_1: OntologyAnnotation = match_value_2
|
|
305
|
+
pattern_input_2 = (oa_1.Name, oa_1.TermAccessionNumber)
|
|
306
|
+
|
|
307
|
+
return LDPropertyValue.create_component(pattern_input[0], pattern_input_1[0], None, pattern_input[1], pattern_input_2[1], pattern_input_2[0], pattern_input_1[1])
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
def WorkflowConversion_decomposeComputationalTool_Z6839B9E8(tool: LDNode, graph: LDGraph | None=None, context: LDContext | None=None) -> Component:
|
|
311
|
+
pattern_input: tuple[OntologyAnnotation, Value_3 | None, OntologyAnnotation | None] = BaseTypes_decomposePropertyValue_Z2F770004(tool, context)
|
|
312
|
+
return Component_create_Z2F0B38C7(pattern_input[1], pattern_input[2], pattern_input[0])
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
def WorkflowConversion_getInputParametersFromProcessingUnit_30922B92(pu: CWLProcessingUnit) -> Array[CWLInput]:
|
|
316
|
+
return CWLProcessingUnit_getInputs_30922B92(pu)
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
def WorkflowConversion_get_toolDescriptionTypeName(__unit: None=None) -> str:
|
|
320
|
+
return "ToolDescription"
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
def WorkflowConversion_get_workflowDescriptionTypeName(__unit: None=None) -> str:
|
|
324
|
+
return "WorkflowDescription"
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
def WorkflowConversion_get_expressionToolDescriptionTypeName(__unit: None=None) -> str:
|
|
328
|
+
return "ExpressionToolDescription"
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
def WorkflowConversion_get_operationDescriptionTypeName(__unit: None=None) -> str:
|
|
332
|
+
return "OperationDescription"
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
def WorkflowConversion_runToIdentifier_Z4EBA8CB1(run: WorkflowStepRun) -> str:
|
|
336
|
+
if run.tag == 1:
|
|
337
|
+
return "inline:CommandLineTool"
|
|
338
|
+
|
|
339
|
+
elif run.tag == 2:
|
|
340
|
+
return "inline:Workflow"
|
|
341
|
+
|
|
342
|
+
elif run.tag == 3:
|
|
343
|
+
return "inline:ExpressionTool"
|
|
344
|
+
|
|
345
|
+
elif run.tag == 4:
|
|
346
|
+
return "inline:Operation"
|
|
347
|
+
|
|
348
|
+
else:
|
|
349
|
+
return run.fields[0]
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
def WorkflowConversion_tryDecodeProcessingUnitFromGraph_Z5AC69418(resolved_run_path: str, graph: LDGraph | None=None, context: LDContext | None=None) -> CWLProcessingUnit | None:
|
|
354
|
+
def try_decode_workflow_protocol(protocol: LDNode, resolved_run_path: Any=resolved_run_path, graph: Any=graph, context: Any=context) -> CWLProcessingUnit | None:
|
|
355
|
+
try:
|
|
356
|
+
return WorkflowConversion_decomposeWorkflowProtocolToProcessingUnit_ZB11202F(protocol, False, context, graph)
|
|
357
|
+
|
|
358
|
+
except Exception as match_value:
|
|
359
|
+
return None
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
if graph is not None:
|
|
363
|
+
graph_1: LDGraph = graph
|
|
364
|
+
normalized_resolved_run_path: str = normalize(resolved_run_path)
|
|
365
|
+
def chooser(id: str, resolved_run_path: Any=resolved_run_path, graph: Any=graph, context: Any=context) -> LDNode | None:
|
|
366
|
+
return graph_1.TryGetNode(id)
|
|
367
|
+
|
|
368
|
+
class ObjectExpr4398:
|
|
369
|
+
@property
|
|
370
|
+
def Equals(self) -> Callable[[str, str], bool]:
|
|
371
|
+
def _arrow4397(x: str, y: str) -> bool:
|
|
372
|
+
return x == y
|
|
373
|
+
|
|
374
|
+
return _arrow4397
|
|
375
|
+
|
|
376
|
+
@property
|
|
377
|
+
def GetHashCode(self) -> Callable[[str], int]:
|
|
378
|
+
return string_hash
|
|
379
|
+
|
|
380
|
+
candidate_node: LDNode | None = try_pick_1(chooser, to_array(distinct(to_enumerable([resolved_run_path, normalized_resolved_run_path, ("./" + normalized_resolved_run_path) + ""]), ObjectExpr4398())))
|
|
381
|
+
(pattern_matching_result, node_3, node_4, node_5) = (None, None, None, None)
|
|
382
|
+
if candidate_node is not None:
|
|
383
|
+
def _arrow4399(__unit: None=None, resolved_run_path: Any=resolved_run_path, graph: Any=graph, context: Any=context) -> bool:
|
|
384
|
+
node: LDNode = candidate_node
|
|
385
|
+
return LDWorkflowProtocol.validate(node, context)
|
|
386
|
+
|
|
387
|
+
if _arrow4399():
|
|
388
|
+
pattern_matching_result = 0
|
|
389
|
+
node_3 = candidate_node
|
|
390
|
+
|
|
391
|
+
else:
|
|
392
|
+
def _arrow4400(__unit: None=None, resolved_run_path: Any=resolved_run_path, graph: Any=graph, context: Any=context) -> bool:
|
|
393
|
+
node_1: LDNode = candidate_node
|
|
394
|
+
return LDDataset.validate_arcworkflow(node_1, graph_1, context)
|
|
395
|
+
|
|
396
|
+
if _arrow4400():
|
|
397
|
+
pattern_matching_result = 1
|
|
398
|
+
node_4 = candidate_node
|
|
399
|
+
|
|
400
|
+
else:
|
|
401
|
+
def _arrow4401(__unit: None=None, resolved_run_path: Any=resolved_run_path, graph: Any=graph, context: Any=context) -> bool:
|
|
402
|
+
node_2: LDNode = candidate_node
|
|
403
|
+
return LDDataset.validate_arcrun(node_2, context)
|
|
404
|
+
|
|
405
|
+
if _arrow4401():
|
|
406
|
+
pattern_matching_result = 2
|
|
407
|
+
node_5 = candidate_node
|
|
408
|
+
|
|
409
|
+
else:
|
|
410
|
+
pattern_matching_result = 3
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
else:
|
|
416
|
+
pattern_matching_result = 3
|
|
417
|
+
|
|
418
|
+
if pattern_matching_result == 0:
|
|
419
|
+
return try_decode_workflow_protocol(node_3)
|
|
420
|
+
|
|
421
|
+
elif pattern_matching_result == 1:
|
|
422
|
+
return bind(try_decode_workflow_protocol, LDDataset.try_get_main_entity_as_workflow_protocol(node_4, graph_1, context))
|
|
423
|
+
|
|
424
|
+
elif pattern_matching_result == 2:
|
|
425
|
+
return bind(try_decode_workflow_protocol, LDDataset.try_get_main_entity_as_workflow_protocol(node_5, graph_1, context))
|
|
426
|
+
|
|
427
|
+
elif pattern_matching_result == 3:
|
|
428
|
+
return None
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
else:
|
|
432
|
+
return None
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
def WorkflowConversion_composeWorkflowProtocolFromToolDescription_7B8357DA(file_path: str, workflow: CWLToolDescription, workflow_name: str | None=None, run_name: str | None=None) -> LDNode:
|
|
437
|
+
def mapping(a: Array[CWLInput], file_path: Any=file_path, workflow: Any=workflow, workflow_name: Any=workflow_name, run_name: Any=run_name) -> Array[LDNode]:
|
|
438
|
+
def f(i: CWLInput, a: Any=a) -> LDNode:
|
|
439
|
+
return WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(i, workflow_name, run_name)
|
|
440
|
+
|
|
441
|
+
return ResizeArray_map(f, a)
|
|
442
|
+
|
|
443
|
+
inputs: Array[LDNode] | None = map(mapping, workflow.Inputs)
|
|
444
|
+
def f_1(o: CWLOutput, file_path: Any=file_path, workflow: Any=workflow, workflow_name: Any=workflow_name, run_name: Any=run_name) -> LDNode:
|
|
445
|
+
return WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(o, workflow_name, run_name)
|
|
446
|
+
|
|
447
|
+
outputs: Array[LDNode] = ResizeArray_map(f_1, workflow.Outputs)
|
|
448
|
+
return LDWorkflowProtocol.create(file_path, inputs, outputs, None, None, None, file_path, ResizeArray_singleton(LDComputerLanguage.create_cwl()), None, None, None, None, None, None, None, None, [WorkflowConversion_get_toolDescriptionTypeName()])
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
def WorkflowConversion_decomposeWorkflowProtocolToToolDescription_2664C4B8(protocol: LDNode, context: LDContext | None=None, graph: LDGraph | None=None) -> CWLToolDescription:
|
|
452
|
+
def f(i: LDNode, protocol: Any=protocol, context: Any=context, graph: Any=graph) -> CWLInput:
|
|
453
|
+
return WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(i, context, graph)
|
|
454
|
+
|
|
455
|
+
inputs: Array[CWLInput] = ResizeArray_map(f, LDComputationalWorkflow.get_inputs_as_formal_parameters(protocol, graph, context))
|
|
456
|
+
def f_1(o: LDNode, protocol: Any=protocol, context: Any=context, graph: Any=graph) -> CWLOutput:
|
|
457
|
+
return WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(o, context, graph)
|
|
458
|
+
|
|
459
|
+
return CWLToolDescription(ResizeArray_map(f_1, LDComputationalWorkflow.get_outputs_as_formal_parameter(protocol, graph, context)), None, None, None, None, None, inputs)
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
def WorkflowConversion_composeWorkflowProtocolFromExpressionToolDescription_Z7BEB6658(file_path: str, expression_tool: CWLExpressionToolDescription, workflow_name: str | None=None, run_name: str | None=None) -> LDNode:
|
|
463
|
+
def mapping(a: Array[CWLInput], file_path: Any=file_path, expression_tool: Any=expression_tool, workflow_name: Any=workflow_name, run_name: Any=run_name) -> Array[LDNode]:
|
|
464
|
+
def f(i: CWLInput, a: Any=a) -> LDNode:
|
|
465
|
+
return WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(i, workflow_name, run_name)
|
|
466
|
+
|
|
467
|
+
return ResizeArray_map(f, a)
|
|
468
|
+
|
|
469
|
+
inputs: Array[LDNode] | None = map(mapping, expression_tool.Inputs)
|
|
470
|
+
def f_1(o: CWLOutput, file_path: Any=file_path, expression_tool: Any=expression_tool, workflow_name: Any=workflow_name, run_name: Any=run_name) -> LDNode:
|
|
471
|
+
return WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(o, workflow_name, run_name)
|
|
472
|
+
|
|
473
|
+
outputs: Array[LDNode] = ResizeArray_map(f_1, expression_tool.Outputs)
|
|
474
|
+
protocol: LDNode = LDWorkflowProtocol.create(file_path, inputs, outputs, None, None, None, file_path, ResizeArray_singleton(LDComputerLanguage.create_cwl()), None, None, None, None, None, None, None, None, [WorkflowConversion_get_expressionToolDescriptionTypeName()])
|
|
475
|
+
LDLabProtocol.set_description_as_string(protocol, expression_tool.Expression)
|
|
476
|
+
return protocol
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
def WorkflowConversion_decomposeWorkflowProtocolToExpressionToolDescription_2664C4B8(protocol: LDNode, context: LDContext | None=None, graph: LDGraph | None=None) -> CWLExpressionToolDescription:
|
|
480
|
+
def f(i: LDNode, protocol: Any=protocol, context: Any=context, graph: Any=graph) -> CWLInput:
|
|
481
|
+
return WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(i, context, graph)
|
|
482
|
+
|
|
483
|
+
inputs: Array[CWLInput] = ResizeArray_map(f, LDComputationalWorkflow.get_inputs_as_formal_parameters(protocol, graph, context))
|
|
484
|
+
def f_1(o: LDNode, protocol: Any=protocol, context: Any=context, graph: Any=graph) -> CWLOutput:
|
|
485
|
+
return WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(o, context, graph)
|
|
486
|
+
|
|
487
|
+
return CWLExpressionToolDescription(ResizeArray_map(f_1, LDComputationalWorkflow.get_outputs_as_formal_parameter(protocol, graph, context)), default_arg(LDLabProtocol.try_get_description_as_string(protocol, context), "$(null)"), None, None, None, None, inputs)
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
def WorkflowConversion_composeWorkflowProtocolFromOperationDescription_Z75DE0D49(file_path: str, operation: CWLOperationDescription, workflow_name: str | None=None, run_name: str | None=None) -> LDNode:
|
|
491
|
+
def f(i: CWLInput, file_path: Any=file_path, operation: Any=operation, workflow_name: Any=workflow_name, run_name: Any=run_name) -> LDNode:
|
|
492
|
+
return WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(i, workflow_name, run_name)
|
|
493
|
+
|
|
494
|
+
inputs: Array[LDNode] = ResizeArray_map(f, operation.Inputs)
|
|
495
|
+
def f_1(o: CWLOutput, file_path: Any=file_path, operation: Any=operation, workflow_name: Any=workflow_name, run_name: Any=run_name) -> LDNode:
|
|
496
|
+
return WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(o, workflow_name, run_name)
|
|
497
|
+
|
|
498
|
+
outputs: Array[LDNode] = ResizeArray_map(f_1, operation.Outputs)
|
|
499
|
+
return LDWorkflowProtocol.create(file_path, inputs, outputs, None, None, None, file_path, ResizeArray_singleton(LDComputerLanguage.create_cwl()), None, None, None, None, None, None, None, None, [WorkflowConversion_get_operationDescriptionTypeName()])
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
def WorkflowConversion_decomposeWorkflowProtocolToOperationDescription_2664C4B8(protocol: LDNode, context: LDContext | None=None, graph: LDGraph | None=None) -> CWLOperationDescription:
|
|
503
|
+
def f(i: LDNode, protocol: Any=protocol, context: Any=context, graph: Any=graph) -> CWLInput:
|
|
504
|
+
return WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(i, context, graph)
|
|
505
|
+
|
|
506
|
+
def f_1(o: LDNode, protocol: Any=protocol, context: Any=context, graph: Any=graph) -> CWLOutput:
|
|
507
|
+
return WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(o, context, graph)
|
|
508
|
+
|
|
509
|
+
return CWLOperationDescription(ResizeArray_map(f, LDComputationalWorkflow.get_inputs_as_formal_parameters(protocol, graph, context)), ResizeArray_map(f_1, LDComputationalWorkflow.get_outputs_as_formal_parameter(protocol, graph, context)))
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
def WorkflowConversion_composeWorkflowStep_Z35AB9E5D(step: WorkflowStep, workflow_id: Any) -> LDNode:
|
|
513
|
+
id: str = ((("WorkflowStep_" + str(workflow_id)) + "_") + step.Id) + ""
|
|
514
|
+
cw: LDNode = LDComputationalWorkflow.create(id, None, None, None, None, None, step.Id)
|
|
515
|
+
LDDataset.set_identifier_as_string(cw, WorkflowConversion_runToIdentifier_Z4EBA8CB1(step.Run))
|
|
516
|
+
return cw
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
def WorkflowConversion_composeWorkflowProtocolFromWorkflow_Z6FBB852F(file_path: str, workflow: CWLWorkflowDescription, workflow_name: str | None=None, run_name: str | None=None) -> LDNode:
|
|
520
|
+
def f(i: CWLInput, file_path: Any=file_path, workflow: Any=workflow, workflow_name: Any=workflow_name, run_name: Any=run_name) -> LDNode:
|
|
521
|
+
return WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7(i, workflow_name, run_name)
|
|
522
|
+
|
|
523
|
+
inputs: Array[LDNode] = ResizeArray_map(f, workflow.Inputs)
|
|
524
|
+
def f_1(o: CWLOutput, file_path: Any=file_path, workflow: Any=workflow, workflow_name: Any=workflow_name, run_name: Any=run_name) -> LDNode:
|
|
525
|
+
return WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80(o, workflow_name, run_name)
|
|
526
|
+
|
|
527
|
+
outputs: Array[LDNode] = ResizeArray_map(f_1, workflow.Outputs)
|
|
528
|
+
def f_2(s: WorkflowStep, file_path: Any=file_path, workflow: Any=workflow, workflow_name: Any=workflow_name, run_name: Any=run_name) -> LDNode:
|
|
529
|
+
return WorkflowConversion_composeWorkflowStep_Z35AB9E5D(s, file_path)
|
|
530
|
+
|
|
531
|
+
steps: Array[LDNode] = ResizeArray_map(f_2, workflow.Steps)
|
|
532
|
+
return LDWorkflowProtocol.create(file_path, inputs, outputs, None, None, None, file_path, ResizeArray_singleton(LDComputerLanguage.create_cwl()), None, None, None, None, steps, None, None, None, [WorkflowConversion_get_workflowDescriptionTypeName()])
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
def WorkflowConversion_decomposeWorkflowStep_77DD0449(step: LDNode, workflow_file_path: str | None=None, resolve_run_references: bool | None=None, context: LDContext | None=None, graph: LDGraph | None=None) -> WorkflowStep:
|
|
536
|
+
def _arrow4402(__unit: None=None, step: Any=step, workflow_file_path: Any=workflow_file_path, resolve_run_references: Any=resolve_run_references, context: Any=context, graph: Any=graph) -> WorkflowStepRun:
|
|
537
|
+
initial_run: WorkflowStepRun = WorkflowStepRun(0, LDDataset.get_identifier_as_string(step, context))
|
|
538
|
+
def try_resolve_run_path(run_path: str) -> CWLProcessingUnit | None:
|
|
539
|
+
return WorkflowConversion_tryDecodeProcessingUnitFromGraph_Z5AC69418(run_path, graph, context)
|
|
540
|
+
|
|
541
|
+
return initial_run if (not default_arg(resolve_run_references, True)) else (initial_run if (workflow_file_path is None) else resolve_workflow_step_run_from_lookup(workflow_file_path, initial_run, try_resolve_run_path))
|
|
542
|
+
|
|
543
|
+
return WorkflowStep(LDComputationalWorkflow.get_name_as_string(step, context), [], [], _arrow4402())
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
def WorkflowConversion_decomposeWorkflowProtocolToWorkflow_ZB11202F(protocol: LDNode, resolve_run_references: bool | None=None, context: LDContext | None=None, graph: LDGraph | None=None) -> CWLWorkflowDescription:
|
|
547
|
+
workflow_file_path: str = default_arg(LDDataset.try_get_identifier_as_string(protocol, context), protocol.Id)
|
|
548
|
+
should_resolve_run_references: bool = default_arg(resolve_run_references, True)
|
|
549
|
+
def f(i: LDNode, protocol: Any=protocol, resolve_run_references: Any=resolve_run_references, context: Any=context, graph: Any=graph) -> CWLInput:
|
|
550
|
+
return WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8(i, context, graph)
|
|
551
|
+
|
|
552
|
+
inputs: Array[CWLInput] = ResizeArray_map(f, LDComputationalWorkflow.get_inputs_as_formal_parameters(protocol, graph, context))
|
|
553
|
+
def f_1(o: LDNode, protocol: Any=protocol, resolve_run_references: Any=resolve_run_references, context: Any=context, graph: Any=graph) -> CWLOutput:
|
|
554
|
+
return WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8(o, context, graph)
|
|
555
|
+
|
|
556
|
+
outputs: Array[CWLOutput] = ResizeArray_map(f_1, LDComputationalWorkflow.get_outputs_as_formal_parameter(protocol, graph, context))
|
|
557
|
+
def f_2(s: LDNode, protocol: Any=protocol, resolve_run_references: Any=resolve_run_references, context: Any=context, graph: Any=graph) -> WorkflowStep:
|
|
558
|
+
return WorkflowConversion_decomposeWorkflowStep_77DD0449(s, workflow_file_path, should_resolve_run_references, context, graph)
|
|
559
|
+
|
|
560
|
+
return CWLWorkflowDescription(ResizeArray_map(f_2, LDComputationalWorkflow.get_has_part(protocol, graph, context)), inputs, outputs)
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
def WorkflowConversion_composeWorkflowProtocolFromProcessingUnit_Z3099C0F7(file_path: str, pu: CWLProcessingUnit, workflow_name: str | None=None, run_name: str | None=None) -> LDNode:
|
|
564
|
+
if pu.tag == 1:
|
|
565
|
+
return WorkflowConversion_composeWorkflowProtocolFromWorkflow_Z6FBB852F(file_path, pu.fields[0], workflow_name, run_name)
|
|
566
|
+
|
|
567
|
+
elif pu.tag == 2:
|
|
568
|
+
return WorkflowConversion_composeWorkflowProtocolFromExpressionToolDescription_Z7BEB6658(file_path, pu.fields[0], workflow_name, run_name)
|
|
569
|
+
|
|
570
|
+
elif pu.tag == 3:
|
|
571
|
+
return WorkflowConversion_composeWorkflowProtocolFromOperationDescription_Z75DE0D49(file_path, pu.fields[0], workflow_name, run_name)
|
|
572
|
+
|
|
573
|
+
else:
|
|
574
|
+
return WorkflowConversion_composeWorkflowProtocolFromToolDescription_7B8357DA(file_path, pu.fields[0], workflow_name, run_name)
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
def WorkflowConversion_decomposeWorkflowProtocolToProcessingUnit_ZB11202F(protocol: LDNode, resolve_run_references: bool | None=None, context: LDContext | None=None, graph: LDGraph | None=None) -> CWLProcessingUnit:
|
|
579
|
+
should_resolve_run_references: bool = default_arg(resolve_run_references, True)
|
|
580
|
+
match_value: str = LDComputationalWorkflow.get_additional_type_as_string(protocol, context)
|
|
581
|
+
if match_value == WorkflowConversion_get_workflowDescriptionTypeName():
|
|
582
|
+
return CWLProcessingUnit(1, WorkflowConversion_decomposeWorkflowProtocolToWorkflow_ZB11202F(protocol, should_resolve_run_references, context, graph))
|
|
583
|
+
|
|
584
|
+
elif match_value == WorkflowConversion_get_expressionToolDescriptionTypeName():
|
|
585
|
+
return CWLProcessingUnit(2, WorkflowConversion_decomposeWorkflowProtocolToExpressionToolDescription_2664C4B8(protocol, context, graph))
|
|
586
|
+
|
|
587
|
+
elif match_value == WorkflowConversion_get_operationDescriptionTypeName():
|
|
588
|
+
return CWLProcessingUnit(3, WorkflowConversion_decomposeWorkflowProtocolToOperationDescription_2664C4B8(protocol, context, graph))
|
|
589
|
+
|
|
590
|
+
else:
|
|
591
|
+
return CWLProcessingUnit(0, WorkflowConversion_decomposeWorkflowProtocolToToolDescription_2664C4B8(protocol, context, graph))
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
def WorkflowConversion_composeWorkflow_42450E6E(workflow: ArcWorkflow, fs: FileSystem | None=None) -> LDNode:
|
|
596
|
+
workflow_protocol: LDNode
|
|
597
|
+
workflow_file_path: str = Workflow_cwlFileNameFromIdentifier(workflow.Identifier)
|
|
598
|
+
match_value: CWLProcessingUnit | None = workflow.CWLDescription
|
|
599
|
+
if match_value is None:
|
|
600
|
+
arg: str = workflow.Identifier
|
|
601
|
+
workflow_protocol = to_fail(printf("Workflow %s must have a CWL description"))(arg)
|
|
602
|
+
|
|
603
|
+
else:
|
|
604
|
+
workflow_protocol = WorkflowConversion_composeWorkflowProtocolFromProcessingUnit_Z3099C0F7(workflow_file_path, match_value, workflow.Identifier)
|
|
605
|
+
|
|
606
|
+
publisher: LDNode = LDOrganization.create("DataPLANT")
|
|
607
|
+
def f(c: Person, workflow: Any=workflow, fs: Any=fs) -> LDNode:
|
|
608
|
+
return PersonConversion_composePerson_Z64D846DC(c)
|
|
609
|
+
|
|
610
|
+
creators: Array[LDNode] | None = Option_fromSeq(ResizeArray_map(f, workflow.Contacts))
|
|
611
|
+
date_created: Any = utc_now()
|
|
612
|
+
if creators is not None:
|
|
613
|
+
LDComputationalWorkflow.set_creators(workflow_protocol, value_2(creators))
|
|
614
|
+
|
|
615
|
+
LDComputationalWorkflow.set_sd_publisher(workflow_protocol, publisher)
|
|
616
|
+
LDComputationalWorkflow.set_date_created_as_date_time(workflow_protocol, date_created)
|
|
617
|
+
if workflow.Version is not None:
|
|
618
|
+
LDLabProtocol.set_version_as_string(workflow_protocol, value_2(workflow.Version))
|
|
619
|
+
|
|
620
|
+
if workflow.URI is not None:
|
|
621
|
+
LDLabProtocol.set_url(workflow_protocol, value_2(workflow.URI))
|
|
622
|
+
|
|
623
|
+
if workflow.WorkflowType is not None:
|
|
624
|
+
intended_use: LDNode = BaseTypes_composeDefinedTerm_ZDED3A0F(value_2(workflow.WorkflowType))
|
|
625
|
+
LDLabProtocol.set_intended_use_as_defined_term(workflow_protocol, intended_use)
|
|
626
|
+
|
|
627
|
+
def f_1(df: LDNode, workflow: Any=workflow, fs: Any=fs) -> LDNode | None:
|
|
628
|
+
return LDPropertyValue.try_get_subject_of(df)
|
|
629
|
+
|
|
630
|
+
def mapping(datamap: Datamap, workflow: Any=workflow, fs: Any=fs) -> Array[LDNode]:
|
|
631
|
+
return DatamapConversion_composeFragmentDescriptors_Z892BFC3(datamap)
|
|
632
|
+
|
|
633
|
+
data_files: Array[LDNode] = ResizeArray_choose(f_1, default_arg(map(mapping, workflow.Datamap), []))
|
|
634
|
+
if len(workflow.Components) > 0:
|
|
635
|
+
def f_2(tool: Component, workflow: Any=workflow, fs: Any=fs) -> LDNode:
|
|
636
|
+
return WorkflowConversion_composeComputationalTool_Z685B8F25(tool)
|
|
637
|
+
|
|
638
|
+
software_tools: Array[LDNode] = ResizeArray_map(f_2, workflow.Components)
|
|
639
|
+
LDLabProtocol.set_computational_tools(workflow_protocol, software_tools)
|
|
640
|
+
|
|
641
|
+
has_parts: Array[LDNode] | None = ResizeArray_singleton(workflow_protocol) if (len(data_files) == 0) else ResizeArray_appendSingleton(workflow_protocol, data_files)
|
|
642
|
+
def f_3(c_1: Comment, workflow: Any=workflow, fs: Any=fs) -> LDNode:
|
|
643
|
+
return BaseTypes_composeComment_Z13201A7E(c_1)
|
|
644
|
+
|
|
645
|
+
comments: Array[LDNode] | None = Option_fromSeq(ResizeArray_map(f_3, workflow.Comments))
|
|
646
|
+
return LDDataset.create_arcworkflow(workflow.Identifier, ResizeArray_singleton(workflow_protocol), None, workflow.Title, workflow.Description, creators, has_parts, comments)
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
def WorkflowConversion_decomposeWorkflow_Z6839B9E8(workflow: LDNode, graph: LDGraph | None=None, context: LDContext | None=None) -> ArcWorkflow:
|
|
650
|
+
def predicate(me: LDNode, workflow: Any=workflow, graph: Any=graph, context: Any=context) -> bool:
|
|
651
|
+
return LDComputationalWorkflow.validate(me, context)
|
|
652
|
+
|
|
653
|
+
workflow_protocol: LDNode = find(predicate, LDDataset.get_main_entities(workflow, graph, context))
|
|
654
|
+
cwl_description: CWLProcessingUnit = WorkflowConversion_decomposeWorkflowProtocolToProcessingUnit_ZB11202F(workflow_protocol, None, context, graph)
|
|
655
|
+
version: str | None = LDLabProtocol.try_get_version_as_string(workflow_protocol, context)
|
|
656
|
+
uri: str | None = LDLabProtocol.try_get_url(workflow_protocol, context)
|
|
657
|
+
def mapping(iu: LDNode, workflow: Any=workflow, graph: Any=graph, context: Any=context) -> OntologyAnnotation:
|
|
658
|
+
return BaseTypes_decomposeDefinedTerm_Z2F770004(iu, context)
|
|
659
|
+
|
|
660
|
+
workflow_type: OntologyAnnotation | None = map(mapping, LDLabProtocol.try_get_intended_use_as_defined_term(workflow_protocol, graph, context))
|
|
661
|
+
def f(ct: LDNode, workflow: Any=workflow, graph: Any=graph, context: Any=context) -> Component:
|
|
662
|
+
return WorkflowConversion_decomposeComputationalTool_Z6839B9E8(ct, graph, context)
|
|
663
|
+
|
|
664
|
+
components: Array[Component] = ResizeArray_map(f, LDLabProtocol.get_computational_tools(workflow_protocol, graph, context))
|
|
665
|
+
def f_1(c: LDNode, workflow: Any=workflow, graph: Any=graph, context: Any=context) -> Person:
|
|
666
|
+
return PersonConversion_decomposePerson_Z6839B9E8(c, graph, context)
|
|
667
|
+
|
|
668
|
+
contacts: Array[Person] = ResizeArray_map(f_1, LDDataset.get_creators(workflow, graph, context))
|
|
669
|
+
def f_2(c_1: LDNode, workflow: Any=workflow, graph: Any=graph, context: Any=context) -> Comment:
|
|
670
|
+
return BaseTypes_decomposeComment_Z2F770004(c_1, context)
|
|
671
|
+
|
|
672
|
+
comments: Array[Comment] = ResizeArray_map(f_2, LDDataset.get_comments(workflow, graph, context))
|
|
673
|
+
datamap: Datamap | None
|
|
674
|
+
v: Datamap = DatamapConversion_decomposeFragmentDescriptors_Z6E59645F(LDDataset.get_variable_measured_as_fragment_descriptors(workflow, graph, context), graph, context)
|
|
675
|
+
datamap = Option_fromValueWithDefault(Datamap.init(), v)
|
|
676
|
+
return ArcWorkflow.create(LDDataset.get_identifier_as_string(workflow, context), LDDataset.try_get_name_as_string(workflow, context), LDDataset.try_get_description_as_string(workflow, context), workflow_type, uri, version, None, None, components, datamap, contacts, cwl_description, comments)
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
__all__ = ["WorkflowConversion_reflection", "WorkflowConversion_composeAdditionalType_Z5C31A0F9", "WorkflowConversion_decomposeAdditionalType_Z721C83C5", "WorkflowConversion_composeFormalParamInputIdentifiers", "WorkflowConversion_composeFormalParameterFromInput_Z7A02DED7", "WorkflowConversion_decomposeInputBindings_1AAAE9A5", "WorkflowConversion_decomposeInputFromFormalParameter_2664C4B8", "WorkflowConversion_composeFormalParameterOutputIdentifiers_6DFDD678", "WorkflowConversion_composeFormalParameterFromOutput_Z25C7EC80", "WorkflowConversion_decomposeOutputBindings_1AAAE9A5", "WorkflowConversion_decomposeOutputFromFormalParameter_2664C4B8", "WorkflowConversion_composeComputationalTool_Z685B8F25", "WorkflowConversion_decomposeComputationalTool_Z6839B9E8", "WorkflowConversion_getInputParametersFromProcessingUnit_30922B92", "WorkflowConversion_get_toolDescriptionTypeName", "WorkflowConversion_get_workflowDescriptionTypeName", "WorkflowConversion_get_expressionToolDescriptionTypeName", "WorkflowConversion_get_operationDescriptionTypeName", "WorkflowConversion_runToIdentifier_Z4EBA8CB1", "WorkflowConversion_tryDecodeProcessingUnitFromGraph_Z5AC69418", "WorkflowConversion_composeWorkflowProtocolFromToolDescription_7B8357DA", "WorkflowConversion_decomposeWorkflowProtocolToToolDescription_2664C4B8", "WorkflowConversion_composeWorkflowProtocolFromExpressionToolDescription_Z7BEB6658", "WorkflowConversion_decomposeWorkflowProtocolToExpressionToolDescription_2664C4B8", "WorkflowConversion_composeWorkflowProtocolFromOperationDescription_Z75DE0D49", "WorkflowConversion_decomposeWorkflowProtocolToOperationDescription_2664C4B8", "WorkflowConversion_composeWorkflowStep_Z35AB9E5D", "WorkflowConversion_composeWorkflowProtocolFromWorkflow_Z6FBB852F", "WorkflowConversion_decomposeWorkflowStep_77DD0449", "WorkflowConversion_decomposeWorkflowProtocolToWorkflow_ZB11202F", "WorkflowConversion_composeWorkflowProtocolFromProcessingUnit_Z3099C0F7", "WorkflowConversion_decomposeWorkflowProtocolToProcessingUnit_ZB11202F", "WorkflowConversion_composeWorkflow_42450E6E", "WorkflowConversion_decomposeWorkflow_Z6839B9E8"]
|
|
680
|
+
|