dxpy 0.386.0__tar.gz → 0.388.0__tar.gz
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.
- {dxpy-0.386.0 → dxpy-0.388.0}/PKG-INFO +1 -1
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/asset_builder.py +16 -13
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/cp.py +2 -1
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/awscli_assets.json +1 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/awscli_assets.staging.json +2 -1
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/nextaur_assets.json +1 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/nextaur_assets.staging.json +1 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_assets.json +1 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_assets.staging.json +1 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_utils.py +1 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/scripts/dx.py +9 -4
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/scripts/dx_build_app.py +1 -1
- dxpy-0.388.0/dxpy/toolkit_version.py +1 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/__init__.py +2 -2
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy.egg-info/PKG-INFO +1 -1
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dxpy.py +3 -3
- dxpy-0.386.0/dxpy/toolkit_version.py +0 -1
- {dxpy-0.386.0 → dxpy-0.388.0}/MANIFEST.in +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/Readme.md +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/api.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/app_builder.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/app_categories.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/cmd_line_options_validator.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/data_transformations.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/dataset.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/json_validation_by_schema.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/assay_filtering_conditions.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/assay_filtering_json_schemas.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/input_arguments_validation_schemas.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/vizclient.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/vizserver_filters_from_json_parser.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/vizserver_payload_builder.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/auth.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/download_all_inputs.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxanalysis.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxapp.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxapp_container_functions.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxapplet.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxdatabase.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxdatabase_functions.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxdataobject_functions.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxfile.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxfile_functions.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxglobalworkflow.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxjob.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxproject.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxrecord.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/dxworkflow.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/mount_all_inputs.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/search.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/dataset_utilities.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/download.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/exec_io.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/help_messages.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/org.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/output_handling.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/parsers.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/cli/workflow.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/compat.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest_staging.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest_staging_vep.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest_vep.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/cohort_filter_payload.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/column_conditions.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/column_conversion.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/filter_to_payload.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/germline_utils.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/input_validation.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/input_validation_somatic.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/retrieve_allele_schema.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/retrieve_annotation_schema.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/retrieve_bins.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/retrieve_genotype_schema.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/return_columns_allele.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/return_columns_annotation.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/return_columns_genotype.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/return_columns_genotype_only.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/somatic_filter_payload.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dxlog.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/exceptions.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/executable_builder.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/ImageRef.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/ImageRefFactory.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/collect_images.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_builder.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_templates.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/packages/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/scripts/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/scripts/dx_app_wizard.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/scripts/dx_build_applet.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/ssh_tunnel_app_support.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/system_requirements.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/__init__.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/bash.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/python.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/Readme.md +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/basic/dxapp.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/basic/src/code.sh +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/parallelized/dxapp.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/parallelized/src/code.sh +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/scatter-process-gather/dxapp.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/scatter-process-gather/src/code.sh +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/nextflow/dxapp.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/nextflow/src/nextflow.sh +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/basic/dxapp.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/basic/src/code.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/basic/test/test.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/parallelized/dxapp.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/parallelized/src/code.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/parallelized/test/test.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/dxapp.json +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/src/code.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/test/test.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/utils.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/batch_utils.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/completer.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/config.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/describe.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/exec_utils.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/executable_unbuilder.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/file_handle.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/file_load_utils.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/genomic_utils.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/job_log_client.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/local_exec_utils.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/pathmatch.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/pretty_print.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/printing.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/resolver.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/spelling_corrector.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/utils/version.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy/workflow_builder.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy.egg-info/SOURCES.txt +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy.egg-info/dependency_links.txt +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy.egg-info/entry_points.txt +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy.egg-info/not-zip-safe +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy.egg-info/requires.txt +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/dxpy.egg-info/top_level.txt +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/requirements.txt +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/requirements_setuptools.txt +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/requirements_test.txt +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-clone-asset +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-docker +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-download-all-inputs +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-fetch-bundled-depends +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-generate-dxapp +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-jobutil-add-output +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-jobutil-dxlink +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-jobutil-get-identity-token +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-jobutil-new-job +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-jobutil-parse-link +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-jobutil-report-error +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-log-stream +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-mount-all-inputs +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-notebook-reconnect +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-print-bash-vars +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/scripts/dx-upload-all-outputs +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/setup.cfg +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/setup.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_batch.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_create_cohort.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_describe.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dx-docker.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dx_app_wizard.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dx_bash_helpers.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dx_completion.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dx_symlink.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dxabs.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dxasset.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dxclient.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dxpy_utils.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_dxunpack.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_extract_assay.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_extract_dataset.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_extract_expression.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_extract_somatic.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_nextflow.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_nextflow_ImageRef.py +0 -0
- {dxpy-0.386.0 → dxpy-0.388.0}/test/test_nextflow_ImageRefFactory.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dxpy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.388.0
|
|
4
4
|
Summary: DNAnexus Platform API bindings for Python
|
|
5
5
|
Home-page: https://github.com/dnanexus/dx-toolkit
|
|
6
6
|
Author: Aleksandra Zalcman, Andrey Kislyuk, Anurag Biyani, Geet Duggal, Katherine Lai, Kurt Jensen, Marek Hrvol, Ohad Rodeh, Phil Sung
|
|
@@ -35,7 +35,15 @@ ASSET_BUILDER_TRUSTY = "app-create_asset_trusty"
|
|
|
35
35
|
ASSET_BUILDER_XENIAL = "app-create_asset_xenial"
|
|
36
36
|
ASSET_BUILDER_XENIAL_V1 = "app-create_asset_xenial_v1"
|
|
37
37
|
ASSET_BUILDER_FOCAL = "app-create_asset_focal"
|
|
38
|
-
|
|
38
|
+
ASSET_BUILDER_NOBLE = "app-create_asset_noble"
|
|
39
|
+
ASSET_BUILDERS = {
|
|
40
|
+
'12.04': ASSET_BUILDER_PRECISE,
|
|
41
|
+
'14.04': ASSET_BUILDER_TRUSTY,
|
|
42
|
+
'16.04': ASSET_BUILDER_XENIAL,
|
|
43
|
+
'16.04_v1': ASSET_BUILDER_XENIAL_V1,
|
|
44
|
+
'20.04': ASSET_BUILDER_FOCAL,
|
|
45
|
+
'24.04': ASSET_BUILDER_NOBLE,
|
|
46
|
+
}
|
|
39
47
|
|
|
40
48
|
|
|
41
49
|
class AssetBuilderException(Exception):
|
|
@@ -85,8 +93,8 @@ def validate_conf(asset_conf):
|
|
|
85
93
|
raise AssetBuilderException('The asset configuration does not contain the required field "name".')
|
|
86
94
|
|
|
87
95
|
# Validate runSpec
|
|
88
|
-
if 'release' not in asset_conf or asset_conf['release'] not in ["20.04", "16.04", "14.04", "12.04"]:
|
|
89
|
-
raise AssetBuilderException('The "release" field value should be either "20.04", "16.04", "14.04" (DEPRECATED), or "12.04" (DEPRECATED)')
|
|
96
|
+
if 'release' not in asset_conf or asset_conf['release'] not in ["24.04", "20.04", "16.04", "14.04", "12.04"]:
|
|
97
|
+
raise AssetBuilderException('The "release" field value should be either "24.04", "20.04", "16.04" (DEPRECATED), "14.04" (DEPRECATED), or "12.04" (DEPRECATED)')
|
|
90
98
|
if 'runSpecVersion' in asset_conf:
|
|
91
99
|
if asset_conf['runSpecVersion'] not in ["0", "1"]:
|
|
92
100
|
raise AssetBuilderException('The "runSpecVersion" field should be either "0", or "1"')
|
|
@@ -228,16 +236,11 @@ def build_asset(args):
|
|
|
228
236
|
builder_run_options["systemRequirements"] = {"*": {"instanceType": asset_conf["instanceType"]}}
|
|
229
237
|
if dest_folder_name:
|
|
230
238
|
builder_run_options["folder"] = dest_folder_name
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
app_run_result = dxpy.api.app_run(ASSET_BUILDER_XENIAL_V1, input_params=builder_run_options)
|
|
237
|
-
elif asset_conf['release'] == "16.04":
|
|
238
|
-
app_run_result = dxpy.api.app_run(ASSET_BUILDER_XENIAL, input_params=builder_run_options)
|
|
239
|
-
elif asset_conf['release'] == "20.04":
|
|
240
|
-
app_run_result = dxpy.api.app_run(ASSET_BUILDER_FOCAL, input_params=builder_run_options)
|
|
239
|
+
|
|
240
|
+
release = asset_conf['release']
|
|
241
|
+
if asset_conf['runSpecVersion'] == '1':
|
|
242
|
+
release += '_v1'
|
|
243
|
+
app_run_result = dxpy.api.app_run(ASSET_BUILDERS[release], input_params=builder_run_options)
|
|
241
244
|
|
|
242
245
|
job_id = app_run_result["id"]
|
|
243
246
|
|
|
@@ -151,7 +151,8 @@ def cp(args):
|
|
|
151
151
|
{"objects": src_objects,
|
|
152
152
|
"folders": src_folders,
|
|
153
153
|
"project": dest_proj,
|
|
154
|
-
"destination": dest_path
|
|
154
|
+
"destination": dest_path,
|
|
155
|
+
"targetFileRelocation": args.target_file_relocation})['exists']
|
|
155
156
|
if len(exists) > 0:
|
|
156
157
|
print(fill('The following objects already existed in the destination container ' +
|
|
157
158
|
'and were left alone:') + '\n ' + '\n '.join(exists))
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"aws:ap-southeast-2": "record-Ggjx0YQ5qP61v7Q7Qq4QQ2f7",
|
|
3
3
|
"aws:eu-central-1": "record-Ggjx2Jj4jbKyKxGXYfZgpJYy",
|
|
4
4
|
"aws:eu-west-2-g": "record-Ggjx4qBKYFQ35Gp87ybKV28Z",
|
|
5
|
+
"aws:me-south-1": "record-GxFKpy135qFZjpBqPyPV0Z4F",
|
|
5
6
|
"aws:us-east-1": "record-GgjvvP00GFJ5JjG1gX3Jbx6j",
|
|
6
7
|
"azure:westeurope": "record-Ggjx8Z8BxzQqXY9Fv4vXBqpj",
|
|
7
8
|
"azure:westus": "record-GgjxGf89ZB67Bz7f3815qk11"
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
"aws:ap-southeast-2": "record-Ggjp4Fj50y9Vp27Fx8gB65fY",
|
|
3
3
|
"aws:eu-central-1": "record-Ggjp62Q4PFG1K0g562PKZgbV",
|
|
4
4
|
"aws:eu-west-2-g": "record-Ggjp7K2K60b11G4p2X4X8B98",
|
|
5
|
+
"aws:me-south-1": "record-GxFJy0V3kVvxjKfZF7p3JbGV",
|
|
5
6
|
"aws:us-east-1": "record-Ggjp2p009010jB06F520vZQG",
|
|
6
7
|
"azure:westeurope": "record-GgjpB2QB7Vp4Kz8FV25Q68Jv",
|
|
7
8
|
"azure:westus": "record-GgjpJ509bvJ1p27Fx8gB65jg"
|
|
8
|
-
}
|
|
9
|
+
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"aws:ap-southeast-2": "record-GpzQzk852Z6F46605Q45G2fk",
|
|
3
3
|
"aws:eu-central-1": "record-GpzV15j4Gp5b5GpyJ67GX24x",
|
|
4
4
|
"aws:eu-west-2-g": "record-GpzV2xXKqzvbxk4z6884j8jQ",
|
|
5
|
+
"aws:me-south-1": "record-GxFKf693XYGq0ZbVf1FjpjkP",
|
|
5
6
|
"aws:us-east-1": "record-GpzQxg00Zb6YVFZ1bBJ0QFQY",
|
|
6
7
|
"azure:westeurope": "record-GpzV6kQBGXPfFK2jBq1P5fqK",
|
|
7
8
|
"azure:westus": "record-GpzVFv894pgvz7qyjKY3GJbG"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"aws:ap-southeast-2": "record-GpyvF1Q5Ky99FPzYYgZKK1VP",
|
|
3
3
|
"aws:eu-central-1": "record-GpyvGVj4gv75gPB1F7jP18kx",
|
|
4
4
|
"aws:eu-west-2-g": "record-GpyvJbBKVkbzYxqfQ409202F",
|
|
5
|
+
"aws:me-south-1": "record-GxFJbvk3jfbfyPj9VjK660qp",
|
|
5
6
|
"aws:us-east-1": "record-Gpyv8jj023vP2x068G1bZ7Zz",
|
|
6
7
|
"azure:westeurope": "record-GpyvQvQB69bFPJZFgY0J3807",
|
|
7
8
|
"azure:westus": "record-GpyvZ3Q9vf40pyGqgb5G7Kvp"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"aws:ap-southeast-2": "record-GbqXZx85YkJYkXbJGx2712B0",
|
|
3
3
|
"aws:eu-central-1": "record-GbqXbKQ4f06Fb6yFVJ2jf91z",
|
|
4
4
|
"aws:eu-west-2-g": "record-GbqXffpKbPkPGyqxBKj4bkGP",
|
|
5
|
+
"aws:me-south-1": "record-GxFKjXV3v1BFj0jJ8Bz53k5Q",
|
|
5
6
|
"aws:us-east-1": "record-GbqX3YQ0zF96QY6XkKgGj6zJ",
|
|
6
7
|
"azure:westeurope": "record-GbqXq50By9ZZF5JpzzvZVX3F",
|
|
7
8
|
"azure:westus": "record-GbqXy9Q91ggZQg52Z4Ffk84q"
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"aws:ap-southeast-2": "record-GbqVfV85P3j22G98Qk3Pbp54",
|
|
3
3
|
"aws:eu-central-1": "record-GbqVj684y262YXY4gkXP12YK",
|
|
4
4
|
"aws:eu-west-2-g": "record-GbqVkkpKqzF471k20pKZkpZJ",
|
|
5
|
+
"aws:me-south-1": "record-GxFJpgk3gX2Kf655z3KP1x80",
|
|
5
6
|
"aws:us-east-1": "record-GbqVBJ80g9g6vzxj51xYzYj6",
|
|
6
7
|
"azure:westeurope": "record-GbqVv98B1PXF5g7GGYVqfFjx",
|
|
7
8
|
"azure:westus": "record-GbqVz1Q9K7yp85ZVKQVbVgz7"
|
|
@@ -125,6 +125,7 @@ def get_instance_type(region):
|
|
|
125
125
|
"aws:ap-southeast-2": "mem2_ssd1_v2_x4",
|
|
126
126
|
"aws:eu-central-1": "mem2_ssd1_v2_x4",
|
|
127
127
|
"aws:us-east-1": "mem2_ssd1_v2_x4",
|
|
128
|
+
"aws:me-south-1": "mem2_ssd1_v2_x4",
|
|
128
129
|
"azure:westeurope": "azure:mem2_ssd1_x4",
|
|
129
130
|
"azure:westus": "azure:mem2_ssd1_x4",
|
|
130
131
|
"aws:eu-west-2-g": "mem2_ssd1_v2_x4"
|
|
@@ -1037,7 +1037,8 @@ def mv(args):
|
|
|
1037
1037
|
if src_results[0]['describe']['folder'] != dest_folder:
|
|
1038
1038
|
dxpy.api.project_move(src_proj,
|
|
1039
1039
|
{"objects": [result['id'] for result in src_results],
|
|
1040
|
-
"destination": dest_folder
|
|
1040
|
+
"destination": dest_folder,
|
|
1041
|
+
"targetFileRelocation": args.target_file_relocation})
|
|
1041
1042
|
for result in src_results:
|
|
1042
1043
|
dxpy.DXHTTPRequest('/' + result['id'] + '/rename',
|
|
1043
1044
|
{"project": src_proj,
|
|
@@ -1065,7 +1066,8 @@ def mv(args):
|
|
|
1065
1066
|
dxpy.api.project_move(src_proj,
|
|
1066
1067
|
{"objects": src_objects,
|
|
1067
1068
|
"folders": src_folders,
|
|
1068
|
-
"destination": dest_path
|
|
1069
|
+
"destination": dest_path,
|
|
1070
|
+
"targetFileRelocation": args.target_file_relocation})
|
|
1069
1071
|
except:
|
|
1070
1072
|
err_exit()
|
|
1071
1073
|
|
|
@@ -2481,7 +2483,7 @@ def find_data(args):
|
|
|
2481
2483
|
visibility=args.visibility,
|
|
2482
2484
|
properties=args.properties,
|
|
2483
2485
|
name=args.name,
|
|
2484
|
-
name_mode=
|
|
2486
|
+
name_mode=args.name_mode,
|
|
2485
2487
|
typename=args.type,
|
|
2486
2488
|
tags=args.tag, link=args.link,
|
|
2487
2489
|
project=args.project,
|
|
@@ -4803,6 +4805,7 @@ cp_sources_action = parser_cp.add_argument('sources', help='Objects and/or folde
|
|
|
4803
4805
|
nargs='+')
|
|
4804
4806
|
cp_sources_action.completer = DXPathCompleter()
|
|
4805
4807
|
parser_cp.add_argument('destination', help=fill('Folder into which to copy the sources or new pathname (if only one source is provided). Must be in a different project/container than all source paths.', width_adjustment=-15))
|
|
4808
|
+
parser_cp.add_argument('--target-file-relocation', help='Allow symlink target file relocation in external storage while cloning a symlink.', action='store_true', default=False)
|
|
4806
4809
|
parser_cp.set_defaults(func=cp)
|
|
4807
4810
|
register_parser(parser_cp, categories='fs')
|
|
4808
4811
|
|
|
@@ -4818,6 +4821,7 @@ mv_sources_action = parser_mv.add_argument('sources', help='Objects and/or folde
|
|
|
4818
4821
|
nargs='+')
|
|
4819
4822
|
mv_sources_action.completer = DXPathCompleter()
|
|
4820
4823
|
parser_mv.add_argument('destination', help=fill('Folder into which to move the sources or new pathname (if only one source is provided). Must be in the same project/container as all source paths.', width_adjustment=-15))
|
|
4824
|
+
parser_mv.add_argument('--target-file-relocation', help='Allow symlink target file relocation in external storage while moving a symlink.', action='store_true', default=False)
|
|
4821
4825
|
parser_mv.set_defaults(func=mv)
|
|
4822
4826
|
register_parser(parser_mv, categories='fs')
|
|
4823
4827
|
|
|
@@ -6143,7 +6147,8 @@ parser_find_data.add_argument('--class', dest='classname', choices=['record', 'f
|
|
|
6143
6147
|
)
|
|
6144
6148
|
parser_find_data.add_argument('--state', choices=['open', 'closing', 'closed', 'any'], help='State of the object')
|
|
6145
6149
|
parser_find_data.add_argument('--visibility', choices=['hidden', 'visible', 'either'], default='visible', help='Whether the object is hidden or not')
|
|
6146
|
-
parser_find_data.add_argument('--name', help='
|
|
6150
|
+
parser_find_data.add_argument('--name', help='Search criteria for the object name, interpreted according to the --name-mode')
|
|
6151
|
+
parser_find_data.add_argument('--name-mode', default='glob', help='Name mode to use for searching', choices=['glob', 'exact', 'regexp'])
|
|
6147
6152
|
parser_find_data.add_argument('--type', help='Type of the data object')
|
|
6148
6153
|
parser_find_data.add_argument('--link', help='Object ID that the data object links to')
|
|
6149
6154
|
parser_find_data.add_argument('--all-projects', '--allprojects', help='Extend search to all projects (excluding public projects)', action='store_true')
|
|
@@ -516,7 +516,7 @@ def _build_app_remote(mode, src_dir, publish=False, destination_override=None,
|
|
|
516
516
|
|
|
517
517
|
app_spec = _parse_app_spec(src_dir)
|
|
518
518
|
builder_versions = {"12.04": "", "14.04": "_trusty", "16.04": "_xenial",
|
|
519
|
-
"20.04": "_focal"}
|
|
519
|
+
"20.04": "_focal", "24.04": "_noble"}
|
|
520
520
|
release = app_spec['runSpec'].get('release')
|
|
521
521
|
# Remote builder app/applet for 16.04 version 1
|
|
522
522
|
if release == "16.04" and app_spec['runSpec'].get('version', '0') == '1':
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = '0.388.0'
|
|
@@ -292,10 +292,10 @@ class Nonce:
|
|
|
292
292
|
'''
|
|
293
293
|
def __init__(self):
|
|
294
294
|
try:
|
|
295
|
-
self.nonce = "%s%f" % (
|
|
295
|
+
self.nonce = "%s%f" % (binascii.hexlify(os.urandom(32)).decode('utf-8'), time.time())
|
|
296
296
|
except:
|
|
297
297
|
random.seed(time.time())
|
|
298
|
-
self.nonce = "%s%f" % (
|
|
298
|
+
self.nonce = "%s%f" % (random.getrandbits(8*26), time.time())
|
|
299
299
|
|
|
300
300
|
def __str__(self):
|
|
301
301
|
return self.nonce
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dxpy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.388.0
|
|
4
4
|
Summary: DNAnexus Platform API bindings for Python
|
|
5
5
|
Home-page: https://github.com/dnanexus/dx-toolkit
|
|
6
6
|
Author: Aleksandra Zalcman, Andrey Kislyuk, Anurag Biyani, Geet Duggal, Katherine Lai, Kurt Jensen, Marek Hrvol, Ohad Rodeh, Phil Sung
|
|
@@ -139,7 +139,7 @@ class TestDXProject(unittest.TestCase):
|
|
|
139
139
|
self.assertEqual(desc["databaseUIViewOnly"], False)
|
|
140
140
|
self.assertEqual(desc["externalUploadRestricted"], False)
|
|
141
141
|
self.assertEqual(desc["tags"], [])
|
|
142
|
-
self.
|
|
142
|
+
self.assertEqual(desc["databaseResultsRestricted"], None)
|
|
143
143
|
prop = dxpy.api.project_describe(dxproject.get_id(),
|
|
144
144
|
{'fields': {'properties': True}})
|
|
145
145
|
self.assertEqual(prop['properties'], {})
|
|
@@ -212,8 +212,8 @@ class TestDXProject(unittest.TestCase):
|
|
|
212
212
|
desc = dxproject.describe()
|
|
213
213
|
self.assertEqual(desc["restricted"], False)
|
|
214
214
|
self.assertEqual(desc["downloadRestricted"], False)
|
|
215
|
-
self.
|
|
216
|
-
self.
|
|
215
|
+
self.assertEqual(desc["allowedExecutables"], None)
|
|
216
|
+
self.assertEqual(desc["databaseResultsRestricted"], None)
|
|
217
217
|
|
|
218
218
|
def test_new_list_remove_folders(self):
|
|
219
219
|
dxproject = dxpy.DXProject()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = '0.386.0'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dxpy-0.386.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/input_arguments_validation_schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest_staging.json
RENAMED
|
File without changes
|
{dxpy-0.386.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest_staging_vep.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/scatter-process-gather/dxapp.json
RENAMED
|
File without changes
|
{dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/scatter-process-gather/src/code.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/dxapp.json
RENAMED
|
File without changes
|
{dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/src/code.py
RENAMED
|
File without changes
|
{dxpy-0.386.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/test/test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|