arctrl 3.0.0a3__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 +18 -0
- arctrl/py/CWL/__init__.py +0 -0
- arctrl/py/CWL/cwltypes.py +150 -0
- arctrl/py/CWL/decode.py +973 -0
- arctrl/py/CWL/encode.py +1 -0
- arctrl/py/CWL/inputs.py +88 -0
- arctrl/py/CWL/outputs.py +85 -0
- arctrl/py/CWL/requirements.py +77 -0
- arctrl/py/CWL/tool_description.py +103 -0
- arctrl/py/CWL/workflow_description.py +104 -0
- arctrl/py/CWL/workflow_steps.py +113 -0
- arctrl/py/Contract/__init__.py +0 -0
- arctrl/py/Contract/arc.py +60 -0
- arctrl/py/Contract/arc_assay.py +125 -0
- arctrl/py/Contract/arc_investigation.py +88 -0
- arctrl/py/Contract/arc_run.py +125 -0
- arctrl/py/Contract/arc_study.py +126 -0
- arctrl/py/Contract/arc_workflow.py +125 -0
- arctrl/py/Contract/contract.py +153 -0
- arctrl/py/Contract/datamap.py +372 -0
- arctrl/py/Contract/git.py +118 -0
- arctrl/py/Contract/validation_packages_config.py +107 -0
- arctrl/py/ContractIO/__init__.py +0 -0
- arctrl/py/ContractIO/contract_io.py +344 -0
- arctrl/py/ContractIO/file_system_helper.py +264 -0
- arctrl/py/Core/Helper/__init__.py +0 -0
- arctrl/py/Core/Helper/collections_.py +438 -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 +248 -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 +1264 -0
- arctrl/py/Core/Table/arc_table_aux.py +575 -0
- arctrl/py/Core/Table/arc_tables.py +591 -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 +5064 -0
- arctrl/py/Core/comment.py +128 -0
- arctrl/py/Core/comment_list.py +127 -0
- arctrl/py/Core/conversion.py +1313 -0
- arctrl/py/Core/data.py +245 -0
- arctrl/py/Core/data_context.py +157 -0
- arctrl/py/Core/data_file.py +112 -0
- arctrl/py/Core/data_map.py +225 -0
- arctrl/py/Core/identifier_setters.py +31 -0
- arctrl/py/Core/iproperty_value.py +36 -0
- arctrl/py/Core/ontology_annotation.py +299 -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 +5 -0
- arctrl/py/FileSystem/default_gitignore.py +5 -0
- arctrl/py/FileSystem/file_system.py +58 -0
- arctrl/py/FileSystem/file_system_tree.py +426 -0
- arctrl/py/FileSystem/path.py +64 -0
- arctrl/py/Json/DataMap/__init__.py +0 -0
- arctrl/py/Json/DataMap/data_context.py +101 -0
- arctrl/py/Json/DataMap/data_map.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 +79 -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 +79 -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 +133 -0
- arctrl/py/Json/ROCrate/ldgraph.py +111 -0
- arctrl/py/Json/ROCrate/ldnode.py +290 -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 +393 -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 +155 -0
- arctrl/py/Json/encode.py +92 -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/string_table.py +76 -0
- arctrl/py/Json/study.py +793 -0
- arctrl/py/JsonIO/DataMap/__init__.py +0 -0
- arctrl/py/JsonIO/DataMap/data_map.py +53 -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 +121 -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 +85 -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/decode.py +9 -0
- arctrl/py/JsonIO/encode.py +1 -0
- arctrl/py/JsonIO/investigation.py +113 -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/study.py +114 -0
- arctrl/py/ROCrate/Generic/__init__.py +0 -0
- arctrl/py/ROCrate/Generic/comment.py +131 -0
- arctrl/py/ROCrate/Generic/dataset.py +817 -0
- arctrl/py/ROCrate/Generic/defined_term.py +131 -0
- arctrl/py/ROCrate/Generic/file.py +237 -0
- arctrl/py/ROCrate/Generic/lab_process.py +324 -0
- arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
- arctrl/py/ROCrate/Generic/organization.py +83 -0
- arctrl/py/ROCrate/Generic/person.py +484 -0
- arctrl/py/ROCrate/Generic/postal_address.py +195 -0
- arctrl/py/ROCrate/Generic/property_value.py +696 -0
- arctrl/py/ROCrate/Generic/sample.py +202 -0
- arctrl/py/ROCrate/Generic/scholarly_article.py +229 -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/__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 +362 -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 +193 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
- arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -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 +508 -0
- arctrl/py/Spreadsheet/Metadata/study.py +312 -0
- arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
- arctrl/py/Spreadsheet/__init__.py +0 -0
- arctrl/py/Spreadsheet/arc_assay.py +233 -0
- arctrl/py/Spreadsheet/arc_investigation.py +418 -0
- arctrl/py/Spreadsheet/arc_run.py +190 -0
- arctrl/py/Spreadsheet/arc_study.py +144 -0
- arctrl/py/Spreadsheet/arc_workflow.py +176 -0
- arctrl/py/Spreadsheet/assembly_info.py +1 -0
- arctrl/py/Spreadsheet/collection_aux.py +167 -0
- arctrl/py/Spreadsheet/data_map.py +44 -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/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 +1400 -0
- arctrl/py/column_index.py +280 -0
- arctrl/py/conversion.py +2184 -0
- arctrl/py/cross_async.py +76 -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 +338 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -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 +464 -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 +57 -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 +217 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -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 +393 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -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 +218 -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 +180 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
- arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -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 +53 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
- arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
- arctrl/py/fable_modules/thoth_json_core/encode.py +261 -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/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 +665 -0
- arctrl/py/fable_modules/yamlicious/regex.py +21 -0
- arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
- arctrl/py/fable_modules/yamlicious/writer.py +175 -0
- arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
- arctrl/py/json.py +213 -0
- arctrl/py/rocrate_io.py +72 -0
- arctrl/py/template_web.py +23 -0
- arctrl/py/xlsx.py +148 -0
- arctrl/rocrate.py +21 -0
- arctrl-3.0.0a3.dist-info/LICENSE +21 -0
- arctrl-3.0.0a3.dist-info/METADATA +119 -0
- arctrl-3.0.0a3.dist-info/RECORD +456 -0
- arctrl-3.0.0a3.dist-info/WHEEL +4 -0
arctrl/py/Json/study.py
ADDED
|
@@ -0,0 +1,793 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import (Any, TypeVar)
|
|
4
|
+
from ..fable_modules.fable_library.list import (try_find, FSharpList, choose, of_array, singleton, map as map_2, empty)
|
|
5
|
+
from ..fable_modules.fable_library.option import (default_arg, value as value_17, map, bind, default_arg_with)
|
|
6
|
+
from ..fable_modules.fable_library.seq import (map as map_1, is_empty)
|
|
7
|
+
from ..fable_modules.fable_library.string_ import replace
|
|
8
|
+
from ..fable_modules.fable_library.types import Array
|
|
9
|
+
from ..fable_modules.fable_library.util import (IEnumerable_1, get_enumerator, dispose)
|
|
10
|
+
from ..fable_modules.thoth_json_core.decode import (object, IRequiredGetter, string, IOptionalGetter, resize_array, IGetters, list_1 as list_1_2)
|
|
11
|
+
from ..fable_modules.thoth_json_core.encode import list_1 as list_1_1
|
|
12
|
+
from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
|
|
13
|
+
from ..Core.arc_types import (ArcAssay, ArcStudy)
|
|
14
|
+
from ..Core.comment import Comment
|
|
15
|
+
from ..Core.conversion import (ARCtrl_ArcTables__ArcTables_GetProcesses, ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D, Person_setSourceAssayComment, Person_getSourceAssayIdentifiersFromComments, Person_removeSourceAssayComments)
|
|
16
|
+
from ..Core.data import Data
|
|
17
|
+
from ..Core.data_map import DataMap
|
|
18
|
+
from ..Core.Helper.collections_ import (ResizeArray_map, Option_fromValueWithDefault)
|
|
19
|
+
from ..Core.Helper.identifier import (Study_tryFileNameFromIdentifier, Study_tryIdentifierFromFileName, create_missing_identifier, Study_fileNameFromIdentifier)
|
|
20
|
+
from ..Core.ontology_annotation import OntologyAnnotation
|
|
21
|
+
from ..Core.person import Person
|
|
22
|
+
from ..Core.Process.factor import Factor
|
|
23
|
+
from ..Core.Process.material_attribute import MaterialAttribute
|
|
24
|
+
from ..Core.Process.process import Process
|
|
25
|
+
from ..Core.Process.process_sequence import (get_data, get_units, get_factors, get_characteristics, get_protocols)
|
|
26
|
+
from ..Core.Process.protocol import Protocol
|
|
27
|
+
from ..Core.publication import Publication
|
|
28
|
+
from ..Core.Table.arc_table import ArcTable
|
|
29
|
+
from ..Core.Table.arc_tables import ArcTables
|
|
30
|
+
from ..Core.Table.composite_cell import CompositeCell
|
|
31
|
+
from .assay import (ROCrate_encoder as ROCrate_encoder_4, ROCrate_decoder as ROCrate_decoder_1, ISAJson_encoder as ISAJson_encoder_5, ISAJson_decoder as ISAJson_decoder_2)
|
|
32
|
+
from .comment import (encoder as encoder_9, decoder as decoder_6, ROCrate_encoder as ROCrate_encoder_6, ROCrate_decoder as ROCrate_decoder_5, ISAJson_encoder as ISAJson_encoder_6, ISAJson_decoder as ISAJson_decoder_5)
|
|
33
|
+
from .context.rocrate.isa_study_context import context_jsonvalue
|
|
34
|
+
from .data import ROCrate_encoder as ROCrate_encoder_5
|
|
35
|
+
from .DataMap.data_map import (encoder as encoder_8, decoder as decoder_5, encoder_compressed as encoder_compressed_2, decoder_compressed as decoder_compressed_2)
|
|
36
|
+
from .decode import Decode_objectNoAdditionalProperties
|
|
37
|
+
from .encode import (try_include, try_include_seq, try_include_list)
|
|
38
|
+
from .idtable import encode
|
|
39
|
+
from .ontology_annotation import (OntologyAnnotation_encoder, OntologyAnnotation_decoder, OntologyAnnotation_ROCrate_encoderDefinedTerm, OntologyAnnotation_ROCrate_decoderDefinedTerm, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
|
|
40
|
+
from .person import (encoder as encoder_6, decoder as decoder_3, ROCrate_encoder as ROCrate_encoder_2, ROCrate_decoder as ROCrate_decoder_4, ISAJson_encoder as ISAJson_encoder_3, ISAJson_decoder as ISAJson_decoder_3)
|
|
41
|
+
from .Process.factor import encoder as encoder_10
|
|
42
|
+
from .Process.material_attribute import encoder as encoder_11
|
|
43
|
+
from .Process.process import (ROCrate_encoder as ROCrate_encoder_3, ROCrate_decoder as ROCrate_decoder_2, ISAJson_encoder as ISAJson_encoder_4, ISAJson_decoder as ISAJson_decoder_1)
|
|
44
|
+
from .Process.protocol import ISAJson_encoder as ISAJson_encoder_1
|
|
45
|
+
from .Process.study_materials import encoder as encoder_12
|
|
46
|
+
from .publication import (encoder as encoder_5, decoder as decoder_2, ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_3, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_4)
|
|
47
|
+
from .Table.arc_table import (encoder as encoder_7, decoder as decoder_4, encoder_compressed as encoder_compressed_1, decoder_compressed as decoder_compressed_1)
|
|
48
|
+
|
|
49
|
+
__A_ = TypeVar("__A_")
|
|
50
|
+
|
|
51
|
+
def Helper_getAssayInformation(assays: FSharpList[ArcAssay] | None, study: ArcStudy) -> Array[ArcAssay]:
|
|
52
|
+
if assays is not None:
|
|
53
|
+
def f(assay_id: str, assays: Any=assays, study: Any=study) -> ArcAssay:
|
|
54
|
+
def predicate(a: ArcAssay, assay_id: Any=assay_id) -> bool:
|
|
55
|
+
return a.Identifier == assay_id
|
|
56
|
+
|
|
57
|
+
return default_arg(try_find(predicate, value_17(assays)), ArcAssay.init(assay_id))
|
|
58
|
+
|
|
59
|
+
return ResizeArray_map(f, study.RegisteredAssayIdentifiers)
|
|
60
|
+
|
|
61
|
+
else:
|
|
62
|
+
return study.GetRegisteredAssaysOrIdentifier()
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def encoder(study: ArcStudy) -> IEncodable:
|
|
67
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], study: Any=study) -> tuple[str, IEncodable] | None:
|
|
68
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
69
|
+
return (tupled_arg[0], v_1)
|
|
70
|
+
|
|
71
|
+
return map(mapping, tupled_arg[1])
|
|
72
|
+
|
|
73
|
+
def _arrow3010(__unit: None=None, study: Any=study) -> IEncodable:
|
|
74
|
+
value: str = study.Identifier
|
|
75
|
+
class ObjectExpr3009(IEncodable):
|
|
76
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
77
|
+
return helpers.encode_string(value)
|
|
78
|
+
|
|
79
|
+
return ObjectExpr3009()
|
|
80
|
+
|
|
81
|
+
def _arrow3012(value_1: str, study: Any=study) -> IEncodable:
|
|
82
|
+
class ObjectExpr3011(IEncodable):
|
|
83
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
|
|
84
|
+
return helpers_1.encode_string(value_1)
|
|
85
|
+
|
|
86
|
+
return ObjectExpr3011()
|
|
87
|
+
|
|
88
|
+
def _arrow3014(value_3: str, study: Any=study) -> IEncodable:
|
|
89
|
+
class ObjectExpr3013(IEncodable):
|
|
90
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
|
|
91
|
+
return helpers_2.encode_string(value_3)
|
|
92
|
+
|
|
93
|
+
return ObjectExpr3013()
|
|
94
|
+
|
|
95
|
+
def _arrow3016(value_5: str, study: Any=study) -> IEncodable:
|
|
96
|
+
class ObjectExpr3015(IEncodable):
|
|
97
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
|
|
98
|
+
return helpers_3.encode_string(value_5)
|
|
99
|
+
|
|
100
|
+
return ObjectExpr3015()
|
|
101
|
+
|
|
102
|
+
def _arrow3018(value_7: str, study: Any=study) -> IEncodable:
|
|
103
|
+
class ObjectExpr3017(IEncodable):
|
|
104
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
|
|
105
|
+
return helpers_4.encode_string(value_7)
|
|
106
|
+
|
|
107
|
+
return ObjectExpr3017()
|
|
108
|
+
|
|
109
|
+
def _arrow3019(oa: Publication, study: Any=study) -> IEncodable:
|
|
110
|
+
return encoder_5(oa)
|
|
111
|
+
|
|
112
|
+
def _arrow3020(person: Person, study: Any=study) -> IEncodable:
|
|
113
|
+
return encoder_6(person)
|
|
114
|
+
|
|
115
|
+
def _arrow3021(oa_1: OntologyAnnotation, study: Any=study) -> IEncodable:
|
|
116
|
+
return OntologyAnnotation_encoder(oa_1)
|
|
117
|
+
|
|
118
|
+
def _arrow3022(table: ArcTable, study: Any=study) -> IEncodable:
|
|
119
|
+
return encoder_7(table)
|
|
120
|
+
|
|
121
|
+
def _arrow3023(dm: DataMap, study: Any=study) -> IEncodable:
|
|
122
|
+
return encoder_8(dm)
|
|
123
|
+
|
|
124
|
+
def _arrow3025(value_9: str, study: Any=study) -> IEncodable:
|
|
125
|
+
class ObjectExpr3024(IEncodable):
|
|
126
|
+
def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
|
|
127
|
+
return helpers_5.encode_string(value_9)
|
|
128
|
+
|
|
129
|
+
return ObjectExpr3024()
|
|
130
|
+
|
|
131
|
+
def _arrow3026(comment: Comment, study: Any=study) -> IEncodable:
|
|
132
|
+
return encoder_9(comment)
|
|
133
|
+
|
|
134
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("Identifier", _arrow3010()), try_include("Title", _arrow3012, study.Title), try_include("Description", _arrow3014, study.Description), try_include("SubmissionDate", _arrow3016, study.SubmissionDate), try_include("PublicReleaseDate", _arrow3018, study.PublicReleaseDate), try_include_seq("Publications", _arrow3019, study.Publications), try_include_seq("Contacts", _arrow3020, study.Contacts), try_include_seq("StudyDesignDescriptors", _arrow3021, study.StudyDesignDescriptors), try_include_seq("Tables", _arrow3022, study.Tables), try_include("DataMap", _arrow3023, study.DataMap), try_include_seq("RegisteredAssayIdentifiers", _arrow3025, study.RegisteredAssayIdentifiers), try_include_seq("Comments", _arrow3026, study.Comments)]))
|
|
135
|
+
class ObjectExpr3027(IEncodable):
|
|
136
|
+
def Encode(self, helpers_6: IEncoderHelpers_1[Any], study: Any=study) -> Any:
|
|
137
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
138
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_6))
|
|
139
|
+
|
|
140
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
141
|
+
return helpers_6.encode_object(arg)
|
|
142
|
+
|
|
143
|
+
return ObjectExpr3027()
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def _arrow3040(get: IGetters) -> ArcStudy:
|
|
147
|
+
def _arrow3028(__unit: None=None) -> str:
|
|
148
|
+
object_arg: IRequiredGetter = get.Required
|
|
149
|
+
return object_arg.Field("Identifier", string)
|
|
150
|
+
|
|
151
|
+
def _arrow3029(__unit: None=None) -> str | None:
|
|
152
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
153
|
+
return object_arg_1.Field("Title", string)
|
|
154
|
+
|
|
155
|
+
def _arrow3030(__unit: None=None) -> str | None:
|
|
156
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
157
|
+
return object_arg_2.Field("Description", string)
|
|
158
|
+
|
|
159
|
+
def _arrow3031(__unit: None=None) -> str | None:
|
|
160
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
161
|
+
return object_arg_3.Field("SubmissionDate", string)
|
|
162
|
+
|
|
163
|
+
def _arrow3032(__unit: None=None) -> str | None:
|
|
164
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
165
|
+
return object_arg_4.Field("PublicReleaseDate", string)
|
|
166
|
+
|
|
167
|
+
def _arrow3033(__unit: None=None) -> Array[Publication] | None:
|
|
168
|
+
arg_11: Decoder_1[Array[Publication]] = resize_array(decoder_2)
|
|
169
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
170
|
+
return object_arg_5.Field("Publications", arg_11)
|
|
171
|
+
|
|
172
|
+
def _arrow3034(__unit: None=None) -> Array[Person] | None:
|
|
173
|
+
arg_13: Decoder_1[Array[Person]] = resize_array(decoder_3)
|
|
174
|
+
object_arg_6: IOptionalGetter = get.Optional
|
|
175
|
+
return object_arg_6.Field("Contacts", arg_13)
|
|
176
|
+
|
|
177
|
+
def _arrow3035(__unit: None=None) -> Array[OntologyAnnotation] | None:
|
|
178
|
+
arg_15: Decoder_1[Array[OntologyAnnotation]] = resize_array(OntologyAnnotation_decoder)
|
|
179
|
+
object_arg_7: IOptionalGetter = get.Optional
|
|
180
|
+
return object_arg_7.Field("StudyDesignDescriptors", arg_15)
|
|
181
|
+
|
|
182
|
+
def _arrow3036(__unit: None=None) -> Array[ArcTable] | None:
|
|
183
|
+
arg_17: Decoder_1[Array[ArcTable]] = resize_array(decoder_4)
|
|
184
|
+
object_arg_8: IOptionalGetter = get.Optional
|
|
185
|
+
return object_arg_8.Field("Tables", arg_17)
|
|
186
|
+
|
|
187
|
+
def _arrow3037(__unit: None=None) -> DataMap | None:
|
|
188
|
+
object_arg_9: IOptionalGetter = get.Optional
|
|
189
|
+
return object_arg_9.Field("DataMap", decoder_5)
|
|
190
|
+
|
|
191
|
+
def _arrow3038(__unit: None=None) -> Array[str] | None:
|
|
192
|
+
arg_21: Decoder_1[Array[str]] = resize_array(string)
|
|
193
|
+
object_arg_10: IOptionalGetter = get.Optional
|
|
194
|
+
return object_arg_10.Field("RegisteredAssayIdentifiers", arg_21)
|
|
195
|
+
|
|
196
|
+
def _arrow3039(__unit: None=None) -> Array[Comment] | None:
|
|
197
|
+
arg_23: Decoder_1[Array[Comment]] = resize_array(decoder_6)
|
|
198
|
+
object_arg_11: IOptionalGetter = get.Optional
|
|
199
|
+
return object_arg_11.Field("Comments", arg_23)
|
|
200
|
+
|
|
201
|
+
return ArcStudy(_arrow3028(), _arrow3029(), _arrow3030(), _arrow3031(), _arrow3032(), _arrow3033(), _arrow3034(), _arrow3035(), _arrow3036(), _arrow3037(), _arrow3038(), _arrow3039())
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
decoder: Decoder_1[ArcStudy] = object(_arrow3040)
|
|
205
|
+
|
|
206
|
+
def encoder_compressed(string_table: Any, oa_table: Any, cell_table: Any, study: ArcStudy) -> IEncodable:
|
|
207
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> tuple[str, IEncodable] | None:
|
|
208
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
209
|
+
return (tupled_arg[0], v_1)
|
|
210
|
+
|
|
211
|
+
return map(mapping, tupled_arg[1])
|
|
212
|
+
|
|
213
|
+
def _arrow3044(__unit: None=None, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
214
|
+
value: str = study.Identifier
|
|
215
|
+
class ObjectExpr3043(IEncodable):
|
|
216
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
217
|
+
return helpers.encode_string(value)
|
|
218
|
+
|
|
219
|
+
return ObjectExpr3043()
|
|
220
|
+
|
|
221
|
+
def _arrow3046(value_1: str, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
222
|
+
class ObjectExpr3045(IEncodable):
|
|
223
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
|
|
224
|
+
return helpers_1.encode_string(value_1)
|
|
225
|
+
|
|
226
|
+
return ObjectExpr3045()
|
|
227
|
+
|
|
228
|
+
def _arrow3048(value_3: str, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
229
|
+
class ObjectExpr3047(IEncodable):
|
|
230
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
|
|
231
|
+
return helpers_2.encode_string(value_3)
|
|
232
|
+
|
|
233
|
+
return ObjectExpr3047()
|
|
234
|
+
|
|
235
|
+
def _arrow3050(value_5: str, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
236
|
+
class ObjectExpr3049(IEncodable):
|
|
237
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
|
|
238
|
+
return helpers_3.encode_string(value_5)
|
|
239
|
+
|
|
240
|
+
return ObjectExpr3049()
|
|
241
|
+
|
|
242
|
+
def _arrow3052(value_7: str, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
243
|
+
class ObjectExpr3051(IEncodable):
|
|
244
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
|
|
245
|
+
return helpers_4.encode_string(value_7)
|
|
246
|
+
|
|
247
|
+
return ObjectExpr3051()
|
|
248
|
+
|
|
249
|
+
def _arrow3053(oa: Publication, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
250
|
+
return encoder_5(oa)
|
|
251
|
+
|
|
252
|
+
def _arrow3054(person: Person, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
253
|
+
return encoder_6(person)
|
|
254
|
+
|
|
255
|
+
def _arrow3055(oa_1: OntologyAnnotation, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
256
|
+
return OntologyAnnotation_encoder(oa_1)
|
|
257
|
+
|
|
258
|
+
def _arrow3056(table: ArcTable, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
259
|
+
return encoder_compressed_1(string_table, oa_table, cell_table, table)
|
|
260
|
+
|
|
261
|
+
def _arrow3057(dm: DataMap, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
262
|
+
return encoder_compressed_2(string_table, oa_table, cell_table, dm)
|
|
263
|
+
|
|
264
|
+
def _arrow3059(value_9: str, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
265
|
+
class ObjectExpr3058(IEncodable):
|
|
266
|
+
def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
|
|
267
|
+
return helpers_5.encode_string(value_9)
|
|
268
|
+
|
|
269
|
+
return ObjectExpr3058()
|
|
270
|
+
|
|
271
|
+
def _arrow3060(comment: Comment, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> IEncodable:
|
|
272
|
+
return encoder_9(comment)
|
|
273
|
+
|
|
274
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("Identifier", _arrow3044()), try_include("Title", _arrow3046, study.Title), try_include("Description", _arrow3048, study.Description), try_include("SubmissionDate", _arrow3050, study.SubmissionDate), try_include("PublicReleaseDate", _arrow3052, study.PublicReleaseDate), try_include_seq("Publications", _arrow3053, study.Publications), try_include_seq("Contacts", _arrow3054, study.Contacts), try_include_seq("StudyDesignDescriptors", _arrow3055, study.StudyDesignDescriptors), try_include_seq("Tables", _arrow3056, study.Tables), try_include("DataMap", _arrow3057, study.DataMap), try_include_seq("RegisteredAssayIdentifiers", _arrow3059, study.RegisteredAssayIdentifiers), try_include_seq("Comments", _arrow3060, study.Comments)]))
|
|
275
|
+
class ObjectExpr3061(IEncodable):
|
|
276
|
+
def Encode(self, helpers_6: IEncoderHelpers_1[Any], string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table, study: Any=study) -> Any:
|
|
277
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
278
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_6))
|
|
279
|
+
|
|
280
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
281
|
+
return helpers_6.encode_object(arg)
|
|
282
|
+
|
|
283
|
+
return ObjectExpr3061()
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
def decoder_compressed(string_table: Array[str], oa_table: Array[OntologyAnnotation], cell_table: Array[CompositeCell]) -> Decoder_1[ArcStudy]:
|
|
287
|
+
def _arrow3074(get: IGetters, string_table: Any=string_table, oa_table: Any=oa_table, cell_table: Any=cell_table) -> ArcStudy:
|
|
288
|
+
def _arrow3062(__unit: None=None) -> str:
|
|
289
|
+
object_arg: IRequiredGetter = get.Required
|
|
290
|
+
return object_arg.Field("Identifier", string)
|
|
291
|
+
|
|
292
|
+
def _arrow3063(__unit: None=None) -> str | None:
|
|
293
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
294
|
+
return object_arg_1.Field("Title", string)
|
|
295
|
+
|
|
296
|
+
def _arrow3064(__unit: None=None) -> str | None:
|
|
297
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
298
|
+
return object_arg_2.Field("Description", string)
|
|
299
|
+
|
|
300
|
+
def _arrow3065(__unit: None=None) -> str | None:
|
|
301
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
302
|
+
return object_arg_3.Field("SubmissionDate", string)
|
|
303
|
+
|
|
304
|
+
def _arrow3066(__unit: None=None) -> str | None:
|
|
305
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
306
|
+
return object_arg_4.Field("PublicReleaseDate", string)
|
|
307
|
+
|
|
308
|
+
def _arrow3067(__unit: None=None) -> Array[Publication] | None:
|
|
309
|
+
arg_11: Decoder_1[Array[Publication]] = resize_array(decoder_2)
|
|
310
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
311
|
+
return object_arg_5.Field("Publications", arg_11)
|
|
312
|
+
|
|
313
|
+
def _arrow3068(__unit: None=None) -> Array[Person] | None:
|
|
314
|
+
arg_13: Decoder_1[Array[Person]] = resize_array(decoder_3)
|
|
315
|
+
object_arg_6: IOptionalGetter = get.Optional
|
|
316
|
+
return object_arg_6.Field("Contacts", arg_13)
|
|
317
|
+
|
|
318
|
+
def _arrow3069(__unit: None=None) -> Array[OntologyAnnotation] | None:
|
|
319
|
+
arg_15: Decoder_1[Array[OntologyAnnotation]] = resize_array(OntologyAnnotation_decoder)
|
|
320
|
+
object_arg_7: IOptionalGetter = get.Optional
|
|
321
|
+
return object_arg_7.Field("StudyDesignDescriptors", arg_15)
|
|
322
|
+
|
|
323
|
+
def _arrow3070(__unit: None=None) -> Array[ArcTable] | None:
|
|
324
|
+
arg_17: Decoder_1[Array[ArcTable]] = resize_array(decoder_compressed_1(string_table, oa_table, cell_table))
|
|
325
|
+
object_arg_8: IOptionalGetter = get.Optional
|
|
326
|
+
return object_arg_8.Field("Tables", arg_17)
|
|
327
|
+
|
|
328
|
+
def _arrow3071(__unit: None=None) -> DataMap | None:
|
|
329
|
+
arg_19: Decoder_1[DataMap] = decoder_compressed_2(string_table, oa_table, cell_table)
|
|
330
|
+
object_arg_9: IOptionalGetter = get.Optional
|
|
331
|
+
return object_arg_9.Field("DataMap", arg_19)
|
|
332
|
+
|
|
333
|
+
def _arrow3072(__unit: None=None) -> Array[str] | None:
|
|
334
|
+
arg_21: Decoder_1[Array[str]] = resize_array(string)
|
|
335
|
+
object_arg_10: IOptionalGetter = get.Optional
|
|
336
|
+
return object_arg_10.Field("RegisteredAssayIdentifiers", arg_21)
|
|
337
|
+
|
|
338
|
+
def _arrow3073(__unit: None=None) -> Array[Comment] | None:
|
|
339
|
+
arg_23: Decoder_1[Array[Comment]] = resize_array(decoder_6)
|
|
340
|
+
object_arg_11: IOptionalGetter = get.Optional
|
|
341
|
+
return object_arg_11.Field("Comments", arg_23)
|
|
342
|
+
|
|
343
|
+
return ArcStudy(_arrow3062(), _arrow3063(), _arrow3064(), _arrow3065(), _arrow3066(), _arrow3067(), _arrow3068(), _arrow3069(), _arrow3070(), _arrow3071(), _arrow3072(), _arrow3073())
|
|
344
|
+
|
|
345
|
+
return object(_arrow3074)
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
def ROCrate_genID(a: ArcStudy) -> str:
|
|
349
|
+
match_value: str = a.Identifier
|
|
350
|
+
if match_value == "":
|
|
351
|
+
return "#EmptyStudy"
|
|
352
|
+
|
|
353
|
+
else:
|
|
354
|
+
return ("studies/" + replace(match_value, " ", "_")) + "/"
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
def ROCrate_encoder(assays: FSharpList[ArcAssay] | None, s: ArcStudy) -> IEncodable:
|
|
359
|
+
file_name: str | None = Study_tryFileNameFromIdentifier(s.Identifier)
|
|
360
|
+
processes: FSharpList[Process] = ARCtrl_ArcTables__ArcTables_GetProcesses(s)
|
|
361
|
+
assays_1: Array[ArcAssay] = Helper_getAssayInformation(assays, s)
|
|
362
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], assays: Any=assays, s: Any=s) -> tuple[str, IEncodable] | None:
|
|
363
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
364
|
+
return (tupled_arg[0], v_1)
|
|
365
|
+
|
|
366
|
+
return map(mapping, tupled_arg[1])
|
|
367
|
+
|
|
368
|
+
def _arrow3078(__unit: None=None, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
369
|
+
value: str = ROCrate_genID(s)
|
|
370
|
+
class ObjectExpr3077(IEncodable):
|
|
371
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
372
|
+
return helpers.encode_string(value)
|
|
373
|
+
|
|
374
|
+
return ObjectExpr3077()
|
|
375
|
+
|
|
376
|
+
class ObjectExpr3079(IEncodable):
|
|
377
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], assays: Any=assays, s: Any=s) -> Any:
|
|
378
|
+
return helpers_1.encode_string("Study")
|
|
379
|
+
|
|
380
|
+
class ObjectExpr3080(IEncodable):
|
|
381
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], assays: Any=assays, s: Any=s) -> Any:
|
|
382
|
+
return helpers_2.encode_string("Study")
|
|
383
|
+
|
|
384
|
+
def _arrow3082(__unit: None=None, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
385
|
+
value_3: str = s.Identifier
|
|
386
|
+
class ObjectExpr3081(IEncodable):
|
|
387
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
|
|
388
|
+
return helpers_3.encode_string(value_3)
|
|
389
|
+
|
|
390
|
+
return ObjectExpr3081()
|
|
391
|
+
|
|
392
|
+
def _arrow3084(value_4: str, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
393
|
+
class ObjectExpr3083(IEncodable):
|
|
394
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
|
|
395
|
+
return helpers_4.encode_string(value_4)
|
|
396
|
+
|
|
397
|
+
return ObjectExpr3083()
|
|
398
|
+
|
|
399
|
+
def _arrow3086(value_6: str, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
400
|
+
class ObjectExpr3085(IEncodable):
|
|
401
|
+
def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
|
|
402
|
+
return helpers_5.encode_string(value_6)
|
|
403
|
+
|
|
404
|
+
return ObjectExpr3085()
|
|
405
|
+
|
|
406
|
+
def _arrow3088(value_8: str, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
407
|
+
class ObjectExpr3087(IEncodable):
|
|
408
|
+
def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
|
|
409
|
+
return helpers_6.encode_string(value_8)
|
|
410
|
+
|
|
411
|
+
return ObjectExpr3087()
|
|
412
|
+
|
|
413
|
+
def _arrow3089(oa: OntologyAnnotation, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
414
|
+
return OntologyAnnotation_ROCrate_encoderDefinedTerm(oa)
|
|
415
|
+
|
|
416
|
+
def _arrow3091(value_10: str, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
417
|
+
class ObjectExpr3090(IEncodable):
|
|
418
|
+
def Encode(self, helpers_7: IEncoderHelpers_1[Any]) -> Any:
|
|
419
|
+
return helpers_7.encode_string(value_10)
|
|
420
|
+
|
|
421
|
+
return ObjectExpr3090()
|
|
422
|
+
|
|
423
|
+
def _arrow3093(value_12: str, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
424
|
+
class ObjectExpr3092(IEncodable):
|
|
425
|
+
def Encode(self, helpers_8: IEncoderHelpers_1[Any]) -> Any:
|
|
426
|
+
return helpers_8.encode_string(value_12)
|
|
427
|
+
|
|
428
|
+
return ObjectExpr3092()
|
|
429
|
+
|
|
430
|
+
def _arrow3094(oa_1: Publication, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
431
|
+
return ROCrate_encoder_1(oa_1)
|
|
432
|
+
|
|
433
|
+
def _arrow3095(oa_2: Person, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
434
|
+
return ROCrate_encoder_2(oa_2)
|
|
435
|
+
|
|
436
|
+
def _arrow3097(__unit: None=None, assays: Any=assays, s: Any=s) -> Callable[[Process], IEncodable]:
|
|
437
|
+
study_name: str | None = s.Identifier
|
|
438
|
+
def _arrow3096(oa_3: Process) -> IEncodable:
|
|
439
|
+
return ROCrate_encoder_3(study_name, None, oa_3)
|
|
440
|
+
|
|
441
|
+
return _arrow3096
|
|
442
|
+
|
|
443
|
+
def _arrow3099(__unit: None=None, assays: Any=assays, s: Any=s) -> Callable[[ArcAssay], IEncodable]:
|
|
444
|
+
study_name_1: str | None = s.Identifier
|
|
445
|
+
def _arrow3098(a_1: ArcAssay) -> IEncodable:
|
|
446
|
+
return ROCrate_encoder_4(study_name_1, a_1)
|
|
447
|
+
|
|
448
|
+
return _arrow3098
|
|
449
|
+
|
|
450
|
+
def _arrow3100(oa_4: Data, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
451
|
+
return ROCrate_encoder_5(oa_4)
|
|
452
|
+
|
|
453
|
+
def _arrow3101(comment: Comment, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
454
|
+
return ROCrate_encoder_6(comment)
|
|
455
|
+
|
|
456
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow3078()), ("@type", list_1_1(singleton(ObjectExpr3079()))), ("additionalType", ObjectExpr3080()), ("identifier", _arrow3082()), try_include("filename", _arrow3084, file_name), try_include("title", _arrow3086, s.Title), try_include("description", _arrow3088, s.Description), try_include_seq("studyDesignDescriptors", _arrow3089, s.StudyDesignDescriptors), try_include("submissionDate", _arrow3091, s.SubmissionDate), try_include("publicReleaseDate", _arrow3093, s.PublicReleaseDate), try_include_seq("publications", _arrow3094, s.Publications), try_include_seq("people", _arrow3095, s.Contacts), try_include_list("processSequence", _arrow3097(), processes), try_include_seq("assays", _arrow3099(), assays_1), try_include_list("dataFiles", _arrow3100, get_data(processes)), try_include_seq("comments", _arrow3101, s.Comments), ("@context", context_jsonvalue)]))
|
|
457
|
+
class ObjectExpr3102(IEncodable):
|
|
458
|
+
def Encode(self, helpers_9: IEncoderHelpers_1[Any], assays: Any=assays, s: Any=s) -> Any:
|
|
459
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
460
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_9))
|
|
461
|
+
|
|
462
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
463
|
+
return helpers_9.encode_object(arg)
|
|
464
|
+
|
|
465
|
+
return ObjectExpr3102()
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
def _arrow3113(get: IGetters) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
|
|
469
|
+
def _arrow3103(__unit: None=None) -> str | None:
|
|
470
|
+
object_arg: IOptionalGetter = get.Optional
|
|
471
|
+
return object_arg.Field("filename", string)
|
|
472
|
+
|
|
473
|
+
identifier: str = default_arg(bind(Study_tryIdentifierFromFileName, _arrow3103()), create_missing_identifier())
|
|
474
|
+
assays: FSharpList[ArcAssay] | None
|
|
475
|
+
arg_3: Decoder_1[FSharpList[ArcAssay]] = list_1_2(ROCrate_decoder_1)
|
|
476
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
477
|
+
assays = object_arg_1.Field("assays", arg_3)
|
|
478
|
+
def mapping_1(arg_4: FSharpList[ArcAssay]) -> Array[str]:
|
|
479
|
+
def mapping(a: ArcAssay, arg_4: Any=arg_4) -> str:
|
|
480
|
+
return a.Identifier
|
|
481
|
+
|
|
482
|
+
return list(map_2(mapping, arg_4))
|
|
483
|
+
|
|
484
|
+
assay_identifiers: Array[str] | None = map(mapping_1, assays)
|
|
485
|
+
def mapping_2(ps: FSharpList[Process]) -> Array[ArcTable]:
|
|
486
|
+
return ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(ps).Tables
|
|
487
|
+
|
|
488
|
+
def _arrow3104(__unit: None=None) -> FSharpList[Process] | None:
|
|
489
|
+
arg_6: Decoder_1[FSharpList[Process]] = list_1_2(ROCrate_decoder_2)
|
|
490
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
491
|
+
return object_arg_2.Field("processSequence", arg_6)
|
|
492
|
+
|
|
493
|
+
tables: Array[ArcTable] | None = map(mapping_2, _arrow3104())
|
|
494
|
+
def _arrow3105(__unit: None=None) -> str | None:
|
|
495
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
496
|
+
return object_arg_3.Field("title", string)
|
|
497
|
+
|
|
498
|
+
def _arrow3106(__unit: None=None) -> str | None:
|
|
499
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
500
|
+
return object_arg_4.Field("description", string)
|
|
501
|
+
|
|
502
|
+
def _arrow3107(__unit: None=None) -> str | None:
|
|
503
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
504
|
+
return object_arg_5.Field("submissionDate", string)
|
|
505
|
+
|
|
506
|
+
def _arrow3108(__unit: None=None) -> str | None:
|
|
507
|
+
object_arg_6: IOptionalGetter = get.Optional
|
|
508
|
+
return object_arg_6.Field("publicReleaseDate", string)
|
|
509
|
+
|
|
510
|
+
def _arrow3109(__unit: None=None) -> Array[Publication] | None:
|
|
511
|
+
arg_16: Decoder_1[Array[Publication]] = resize_array(ROCrate_decoder_3)
|
|
512
|
+
object_arg_7: IOptionalGetter = get.Optional
|
|
513
|
+
return object_arg_7.Field("publications", arg_16)
|
|
514
|
+
|
|
515
|
+
def _arrow3110(__unit: None=None) -> Array[Person] | None:
|
|
516
|
+
arg_18: Decoder_1[Array[Person]] = resize_array(ROCrate_decoder_4)
|
|
517
|
+
object_arg_8: IOptionalGetter = get.Optional
|
|
518
|
+
return object_arg_8.Field("people", arg_18)
|
|
519
|
+
|
|
520
|
+
def _arrow3111(__unit: None=None) -> Array[OntologyAnnotation] | None:
|
|
521
|
+
arg_20: Decoder_1[Array[OntologyAnnotation]] = resize_array(OntologyAnnotation_ROCrate_decoderDefinedTerm)
|
|
522
|
+
object_arg_9: IOptionalGetter = get.Optional
|
|
523
|
+
return object_arg_9.Field("studyDesignDescriptors", arg_20)
|
|
524
|
+
|
|
525
|
+
def _arrow3112(__unit: None=None) -> Array[Comment] | None:
|
|
526
|
+
arg_22: Decoder_1[Array[Comment]] = resize_array(ROCrate_decoder_5)
|
|
527
|
+
object_arg_10: IOptionalGetter = get.Optional
|
|
528
|
+
return object_arg_10.Field("comments", arg_22)
|
|
529
|
+
|
|
530
|
+
return (ArcStudy(identifier, _arrow3105(), _arrow3106(), _arrow3107(), _arrow3108(), _arrow3109(), _arrow3110(), _arrow3111(), tables, None, assay_identifiers, _arrow3112()), default_arg(assays, empty()))
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
ROCrate_decoder: Decoder_1[tuple[ArcStudy, FSharpList[ArcAssay]]] = object(_arrow3113)
|
|
534
|
+
|
|
535
|
+
def ISAJson_encoder(id_map: Any | None, assays: FSharpList[ArcAssay] | None, s: ArcStudy) -> IEncodable:
|
|
536
|
+
def f(s_1: ArcStudy, id_map: Any=id_map, assays: Any=assays, s: Any=s) -> IEncodable:
|
|
537
|
+
study: ArcStudy = s_1.Copy(True)
|
|
538
|
+
file_name: str = Study_fileNameFromIdentifier(study.Identifier)
|
|
539
|
+
assays_1: Array[ArcAssay]
|
|
540
|
+
n: Array[ArcAssay] = []
|
|
541
|
+
enumerator: Any = get_enumerator(Helper_getAssayInformation(assays, study))
|
|
542
|
+
try:
|
|
543
|
+
while enumerator.System_Collections_IEnumerator_MoveNext():
|
|
544
|
+
a: ArcAssay = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
545
|
+
assay: ArcAssay = a.Copy()
|
|
546
|
+
enumerator_1: Any = get_enumerator(assay.Performers)
|
|
547
|
+
try:
|
|
548
|
+
while enumerator_1.System_Collections_IEnumerator_MoveNext():
|
|
549
|
+
person_1: Person = Person_setSourceAssayComment(enumerator_1.System_Collections_Generic_IEnumerator_1_get_Current(), assay.Identifier)
|
|
550
|
+
(study.Contacts.append(person_1))
|
|
551
|
+
|
|
552
|
+
finally:
|
|
553
|
+
dispose(enumerator_1)
|
|
554
|
+
|
|
555
|
+
assay.Performers = []
|
|
556
|
+
(n.append(assay))
|
|
557
|
+
|
|
558
|
+
finally:
|
|
559
|
+
dispose(enumerator)
|
|
560
|
+
|
|
561
|
+
assays_1 = n
|
|
562
|
+
processes: FSharpList[Process] = ARCtrl_ArcTables__ArcTables_GetProcesses(study)
|
|
563
|
+
def encoder_1(oa: OntologyAnnotation, s_1: Any=s_1) -> IEncodable:
|
|
564
|
+
return OntologyAnnotation_ISAJson_encoder(id_map, oa)
|
|
565
|
+
|
|
566
|
+
encoded_units: tuple[str, IEncodable | None] = try_include_list("unitCategories", encoder_1, get_units(processes))
|
|
567
|
+
def encoder_2(value_1: Factor, s_1: Any=s_1) -> IEncodable:
|
|
568
|
+
return encoder_10(id_map, value_1)
|
|
569
|
+
|
|
570
|
+
encoded_factors: tuple[str, IEncodable | None] = try_include_list("factors", encoder_2, get_factors(processes))
|
|
571
|
+
def encoder_3(value_3: MaterialAttribute, s_1: Any=s_1) -> IEncodable:
|
|
572
|
+
return encoder_11(id_map, value_3)
|
|
573
|
+
|
|
574
|
+
encoded_characteristics: tuple[str, IEncodable | None] = try_include_list("characteristicCategories", encoder_3, get_characteristics(processes))
|
|
575
|
+
def _arrow3114(ps: FSharpList[Process], s_1: Any=s_1) -> IEncodable:
|
|
576
|
+
return encoder_12(id_map, ps)
|
|
577
|
+
|
|
578
|
+
encoded_materials: tuple[str, IEncodable | None] = try_include("materials", _arrow3114, Option_fromValueWithDefault(empty(), processes))
|
|
579
|
+
encoded_protocols: tuple[str, IEncodable | None]
|
|
580
|
+
value_5: FSharpList[Protocol] = get_protocols(processes)
|
|
581
|
+
def _arrow3116(__unit: None=None, s_1: Any=s_1) -> Callable[[Protocol], IEncodable]:
|
|
582
|
+
study_name: str | None = s_1.Identifier
|
|
583
|
+
def _arrow3115(oa_1: Protocol) -> IEncodable:
|
|
584
|
+
return ISAJson_encoder_1(study_name, None, None, id_map, oa_1)
|
|
585
|
+
|
|
586
|
+
return _arrow3115
|
|
587
|
+
|
|
588
|
+
encoded_protocols = try_include_list("protocols", _arrow3116(), value_5)
|
|
589
|
+
def chooser(tupled_arg: tuple[str, IEncodable | None], s_1: Any=s_1) -> tuple[str, IEncodable] | None:
|
|
590
|
+
def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
|
|
591
|
+
return (tupled_arg[0], v_1)
|
|
592
|
+
|
|
593
|
+
return map(mapping, tupled_arg[1])
|
|
594
|
+
|
|
595
|
+
def _arrow3120(__unit: None=None, s_1: Any=s_1) -> IEncodable:
|
|
596
|
+
value_6: str = ROCrate_genID(study)
|
|
597
|
+
class ObjectExpr3119(IEncodable):
|
|
598
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
599
|
+
return helpers.encode_string(value_6)
|
|
600
|
+
|
|
601
|
+
return ObjectExpr3119()
|
|
602
|
+
|
|
603
|
+
class ObjectExpr3121(IEncodable):
|
|
604
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], s_1: Any=s_1) -> Any:
|
|
605
|
+
return helpers_1.encode_string(file_name)
|
|
606
|
+
|
|
607
|
+
def _arrow3123(__unit: None=None, s_1: Any=s_1) -> IEncodable:
|
|
608
|
+
value_8: str = study.Identifier
|
|
609
|
+
class ObjectExpr3122(IEncodable):
|
|
610
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
|
|
611
|
+
return helpers_2.encode_string(value_8)
|
|
612
|
+
|
|
613
|
+
return ObjectExpr3122()
|
|
614
|
+
|
|
615
|
+
def _arrow3125(value_9: str, s_1: Any=s_1) -> IEncodable:
|
|
616
|
+
class ObjectExpr3124(IEncodable):
|
|
617
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
|
|
618
|
+
return helpers_3.encode_string(value_9)
|
|
619
|
+
|
|
620
|
+
return ObjectExpr3124()
|
|
621
|
+
|
|
622
|
+
def _arrow3127(value_11: str, s_1: Any=s_1) -> IEncodable:
|
|
623
|
+
class ObjectExpr3126(IEncodable):
|
|
624
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
|
|
625
|
+
return helpers_4.encode_string(value_11)
|
|
626
|
+
|
|
627
|
+
return ObjectExpr3126()
|
|
628
|
+
|
|
629
|
+
def _arrow3129(value_13: str, s_1: Any=s_1) -> IEncodable:
|
|
630
|
+
class ObjectExpr3128(IEncodable):
|
|
631
|
+
def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
|
|
632
|
+
return helpers_5.encode_string(value_13)
|
|
633
|
+
|
|
634
|
+
return ObjectExpr3128()
|
|
635
|
+
|
|
636
|
+
def _arrow3131(value_15: str, s_1: Any=s_1) -> IEncodable:
|
|
637
|
+
class ObjectExpr3130(IEncodable):
|
|
638
|
+
def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
|
|
639
|
+
return helpers_6.encode_string(value_15)
|
|
640
|
+
|
|
641
|
+
return ObjectExpr3130()
|
|
642
|
+
|
|
643
|
+
def _arrow3132(oa_2: Publication, s_1: Any=s_1) -> IEncodable:
|
|
644
|
+
return ISAJson_encoder_2(id_map, oa_2)
|
|
645
|
+
|
|
646
|
+
def _arrow3133(person_2: Person, s_1: Any=s_1) -> IEncodable:
|
|
647
|
+
return ISAJson_encoder_3(id_map, person_2)
|
|
648
|
+
|
|
649
|
+
def _arrow3134(oa_3: OntologyAnnotation, s_1: Any=s_1) -> IEncodable:
|
|
650
|
+
return OntologyAnnotation_ISAJson_encoder(id_map, oa_3)
|
|
651
|
+
|
|
652
|
+
def _arrow3136(__unit: None=None, s_1: Any=s_1) -> Callable[[Process], IEncodable]:
|
|
653
|
+
study_name_1: str | None = s_1.Identifier
|
|
654
|
+
def _arrow3135(oa_4: Process) -> IEncodable:
|
|
655
|
+
return ISAJson_encoder_4(study_name_1, None, id_map, oa_4)
|
|
656
|
+
|
|
657
|
+
return _arrow3135
|
|
658
|
+
|
|
659
|
+
def _arrow3138(__unit: None=None, s_1: Any=s_1) -> Callable[[ArcAssay], IEncodable]:
|
|
660
|
+
study_name_2: str | None = s_1.Identifier
|
|
661
|
+
def _arrow3137(a_2: ArcAssay) -> IEncodable:
|
|
662
|
+
return ISAJson_encoder_5(study_name_2, id_map, a_2)
|
|
663
|
+
|
|
664
|
+
return _arrow3137
|
|
665
|
+
|
|
666
|
+
def _arrow3139(comment: Comment, s_1: Any=s_1) -> IEncodable:
|
|
667
|
+
return ISAJson_encoder_6(id_map, comment)
|
|
668
|
+
|
|
669
|
+
values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow3120()), ("filename", ObjectExpr3121()), ("identifier", _arrow3123()), try_include("title", _arrow3125, study.Title), try_include("description", _arrow3127, study.Description), try_include("submissionDate", _arrow3129, study.SubmissionDate), try_include("publicReleaseDate", _arrow3131, study.PublicReleaseDate), try_include_seq("publications", _arrow3132, study.Publications), try_include_seq("people", _arrow3133, study.Contacts), try_include_seq("studyDesignDescriptors", _arrow3134, study.StudyDesignDescriptors), encoded_protocols, encoded_materials, try_include_list("processSequence", _arrow3136(), processes), try_include_seq("assays", _arrow3138(), assays_1), encoded_factors, encoded_characteristics, encoded_units, try_include_seq("comments", _arrow3139, study.Comments)]))
|
|
670
|
+
class ObjectExpr3140(IEncodable):
|
|
671
|
+
def Encode(self, helpers_7: IEncoderHelpers_1[Any], s_1: Any=s_1) -> Any:
|
|
672
|
+
def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
673
|
+
return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_7))
|
|
674
|
+
|
|
675
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
|
|
676
|
+
return helpers_7.encode_object(arg)
|
|
677
|
+
|
|
678
|
+
return ObjectExpr3140()
|
|
679
|
+
|
|
680
|
+
if id_map is not None:
|
|
681
|
+
def _arrow3141(s_2: ArcStudy, id_map: Any=id_map, assays: Any=assays, s: Any=s) -> str:
|
|
682
|
+
return ROCrate_genID(s_2)
|
|
683
|
+
|
|
684
|
+
return encode(_arrow3141, f, s, id_map)
|
|
685
|
+
|
|
686
|
+
else:
|
|
687
|
+
return f(s)
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "filename", "identifier", "title", "description", "submissionDate", "publicReleaseDate", "publications", "people", "studyDesignDescriptors", "protocols", "materials", "assays", "factors", "characteristicCategories", "unitCategories", "processSequence", "comments", "@type", "@context"])
|
|
692
|
+
|
|
693
|
+
def _arrow3156(get: IGetters) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
|
|
694
|
+
def _arrow3144(__unit: None=None) -> str | None:
|
|
695
|
+
object_arg: IOptionalGetter = get.Optional
|
|
696
|
+
return object_arg.Field("identifier", string)
|
|
697
|
+
|
|
698
|
+
def def_thunk(__unit: None=None) -> str:
|
|
699
|
+
def _arrow3145(__unit: None=None) -> str | None:
|
|
700
|
+
object_arg_1: IOptionalGetter = get.Optional
|
|
701
|
+
return object_arg_1.Field("filename", string)
|
|
702
|
+
|
|
703
|
+
return default_arg(bind(Study_tryIdentifierFromFileName, _arrow3145()), create_missing_identifier())
|
|
704
|
+
|
|
705
|
+
identifier: str = default_arg_with(_arrow3144(), def_thunk)
|
|
706
|
+
def mapping(arg_6: FSharpList[Process]) -> Array[ArcTable]:
|
|
707
|
+
a: ArcTables = ARCtrl_ArcTables__ArcTables_fromProcesses_Static_62A3309D(arg_6)
|
|
708
|
+
return a.Tables
|
|
709
|
+
|
|
710
|
+
def _arrow3146(__unit: None=None) -> FSharpList[Process] | None:
|
|
711
|
+
arg_5: Decoder_1[FSharpList[Process]] = list_1_2(ISAJson_decoder_1)
|
|
712
|
+
object_arg_2: IOptionalGetter = get.Optional
|
|
713
|
+
return object_arg_2.Field("processSequence", arg_5)
|
|
714
|
+
|
|
715
|
+
tables: Array[ArcTable] | None = map(mapping, _arrow3146())
|
|
716
|
+
assays: FSharpList[ArcAssay] | None
|
|
717
|
+
arg_8: Decoder_1[FSharpList[ArcAssay]] = list_1_2(ISAJson_decoder_2)
|
|
718
|
+
object_arg_3: IOptionalGetter = get.Optional
|
|
719
|
+
assays = object_arg_3.Field("assays", arg_8)
|
|
720
|
+
persons_raw: Array[Person] | None
|
|
721
|
+
arg_10: Decoder_1[Array[Person]] = resize_array(ISAJson_decoder_3)
|
|
722
|
+
object_arg_4: IOptionalGetter = get.Optional
|
|
723
|
+
persons_raw = object_arg_4.Field("people", arg_10)
|
|
724
|
+
persons: Array[Person] = []
|
|
725
|
+
if persons_raw is not None:
|
|
726
|
+
enumerator: Any = get_enumerator(value_17(persons_raw))
|
|
727
|
+
try:
|
|
728
|
+
while enumerator.System_Collections_IEnumerator_MoveNext():
|
|
729
|
+
person: Person = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
730
|
+
source_assays: IEnumerable_1[str] = Person_getSourceAssayIdentifiersFromComments(person)
|
|
731
|
+
with get_enumerator(source_assays) as enumerator_1:
|
|
732
|
+
while enumerator_1.System_Collections_IEnumerator_MoveNext():
|
|
733
|
+
assay_identifier: str = enumerator_1.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
734
|
+
with get_enumerator(value_17(assays)) as enumerator_2:
|
|
735
|
+
while enumerator_2.System_Collections_IEnumerator_MoveNext():
|
|
736
|
+
assay: ArcAssay = enumerator_2.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
737
|
+
if assay.Identifier == assay_identifier:
|
|
738
|
+
(assay.Performers.append(person))
|
|
739
|
+
|
|
740
|
+
person.Comments = Person_removeSourceAssayComments(person)
|
|
741
|
+
if is_empty(source_assays):
|
|
742
|
+
(persons.append(person))
|
|
743
|
+
|
|
744
|
+
|
|
745
|
+
finally:
|
|
746
|
+
dispose(enumerator)
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
def mapping_2(arg_11: FSharpList[ArcAssay]) -> Array[str]:
|
|
750
|
+
def mapping_1(a_1: ArcAssay, arg_11: Any=arg_11) -> str:
|
|
751
|
+
return a_1.Identifier
|
|
752
|
+
|
|
753
|
+
return list(map_2(mapping_1, arg_11))
|
|
754
|
+
|
|
755
|
+
assay_identifiers: Array[str] | None = map(mapping_2, assays)
|
|
756
|
+
def _arrow3149(__unit: None=None) -> str | None:
|
|
757
|
+
object_arg_5: IOptionalGetter = get.Optional
|
|
758
|
+
return object_arg_5.Field("title", string)
|
|
759
|
+
|
|
760
|
+
def _arrow3150(__unit: None=None) -> str | None:
|
|
761
|
+
object_arg_6: IOptionalGetter = get.Optional
|
|
762
|
+
return object_arg_6.Field("description", string)
|
|
763
|
+
|
|
764
|
+
def _arrow3151(__unit: None=None) -> str | None:
|
|
765
|
+
object_arg_7: IOptionalGetter = get.Optional
|
|
766
|
+
return object_arg_7.Field("submissionDate", string)
|
|
767
|
+
|
|
768
|
+
def _arrow3152(__unit: None=None) -> str | None:
|
|
769
|
+
object_arg_8: IOptionalGetter = get.Optional
|
|
770
|
+
return object_arg_8.Field("publicReleaseDate", string)
|
|
771
|
+
|
|
772
|
+
def _arrow3153(__unit: None=None) -> Array[Publication] | None:
|
|
773
|
+
arg_21: Decoder_1[Array[Publication]] = resize_array(ISAJson_decoder_4)
|
|
774
|
+
object_arg_9: IOptionalGetter = get.Optional
|
|
775
|
+
return object_arg_9.Field("publications", arg_21)
|
|
776
|
+
|
|
777
|
+
def _arrow3154(__unit: None=None) -> Array[OntologyAnnotation] | None:
|
|
778
|
+
arg_23: Decoder_1[Array[OntologyAnnotation]] = resize_array(OntologyAnnotation_ISAJson_decoder)
|
|
779
|
+
object_arg_10: IOptionalGetter = get.Optional
|
|
780
|
+
return object_arg_10.Field("studyDesignDescriptors", arg_23)
|
|
781
|
+
|
|
782
|
+
def _arrow3155(__unit: None=None) -> Array[Comment] | None:
|
|
783
|
+
arg_25: Decoder_1[Array[Comment]] = resize_array(ISAJson_decoder_5)
|
|
784
|
+
object_arg_11: IOptionalGetter = get.Optional
|
|
785
|
+
return object_arg_11.Field("comments", arg_25)
|
|
786
|
+
|
|
787
|
+
return (ArcStudy(identifier, _arrow3149(), _arrow3150(), _arrow3151(), _arrow3152(), _arrow3153(), None if (len(persons) == 0) else persons, _arrow3154(), tables, None, assay_identifiers, _arrow3155()), default_arg(assays, empty()))
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
ISAJson_decoder: Decoder_1[tuple[ArcStudy, FSharpList[ArcAssay]]] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow3156)
|
|
791
|
+
|
|
792
|
+
__all__ = ["Helper_getAssayInformation", "encoder", "decoder", "encoder_compressed", "decoder_compressed", "ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
|
|
793
|
+
|