gemmapy 2.0.3__tar.gz → 2.0.7__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.
- {gemmapy-2.0.3 → gemmapy-2.0.7}/PKG-INFO +9 -10
- {gemmapy-2.0.3 → gemmapy-2.0.7}/README.rst +6 -8
- gemmapy-2.0.7/___src/conftest.py +0 -0
- gemmapy-2.0.7/docs/conf.py +87 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/_processors.py +38 -10
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/_subprocessors.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/gemmapy_api.py +131 -33
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/__init__.py +47 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/api/default_api.py +4201 -1867
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/api_client.py +20 -7
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/configuration.py +2 -2
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/__init__.py +47 -1
- gemmapy-2.0.7/gemmapy/sdk/models/analysis_ref.py +164 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/annotation_search_result_value_object.py +30 -4
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/annotation_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/annotation_with_usage_statistics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/api_info_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/array_design_value_object.py +25 -25
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/array_design_with_usage_statistics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/audit_event_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/bibliographic_reference_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/bio_assay_value_object.py +80 -2
- gemmapy-2.0.7/gemmapy/sdk/models/bio_material_factor_value_assignment.py +162 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/bio_material_value_object.py +28 -2
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/bio_sequence_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/blocker.py +242 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/build_info_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/category_with_usage_statistics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/cell_level_characteristics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/cell_type_assignment_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/characteristic_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/citation_value_object.py +28 -28
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/composite_sequence_arg.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/composite_sequence_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/contrast_result_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/curation_details_update_request.py +188 -0
- gemmapy-2.0.7/gemmapy/sdk/models/curation_details_value_object.py +292 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/database_entry_arg.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/database_entry_value_object.py +54 -2
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset1.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset10.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset11.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset12.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset13.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset14.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset15.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset16.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset17.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset18.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset19.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset2.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset20.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/dataset21.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset22.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset23.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset24.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset25.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset26.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset27.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset28.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset29.py +84 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset3.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/dataset30.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset31.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset32.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset33.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset34.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset35.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset36.py +84 -0
- gemmapy-2.0.7/gemmapy/sdk/models/dataset37.py +84 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset4.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset5.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset6.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset7.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset8.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset9.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/dataset_arg.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/dataset_permissions_value_object.py +136 -0
- gemmapy-2.0.7/gemmapy/sdk/models/design_preflight_report.py +240 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/diff_ex_result_set_summary_value_object.py +56 -30
- gemmapy-2.0.7/gemmapy/sdk/models/differential_analysis_run_request.py +162 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/differential_expression_analysis_result_by_gene_value_object.py +28 -28
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/differential_expression_analysis_result_set_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/differential_expression_analysis_result_value_object.py +28 -2
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/differential_expression_analysis_value_object.py +56 -30
- gemmapy-2.0.7/gemmapy/sdk/models/entity_ref.py +136 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/experiment_expression_levels_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/experimental_design_value_object.py +292 -0
- gemmapy-2.0.7/gemmapy/sdk/models/experimental_factor_entry.py +246 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/experimental_factor_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/expression_experiment_set_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/expression_experiment_sub_set_group_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/expression_experiment_sub_set_with_groups_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/expression_experiment_subset_with_factor_values_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/expression_experiment_value_object.py +123 -71
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/expression_experiment_with_search_result_value_object.py +123 -71
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/external_database_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/factor_value_basic_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/factor_value_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filter_arg_array_design.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filter_arg_expression_analysis_result_set.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filter_arg_expression_experiment.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filtered_and_inferred_and_paginated_response_data_object_expression_experiment_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filtered_and_paginated_response_data_object_array_design_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filtered_and_paginated_response_data_object_composite_sequence_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filtered_and_paginated_response_data_object_differential_expression_analysis_result_set_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filtered_and_paginated_response_data_object_expression_experiment_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/filtered_and_paginated_response_data_object_gene_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/geeq_value_object.py +470 -2
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene1.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene2.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene3.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene4.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene5.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene6.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene7.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene8.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene9.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene_arg.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene_element_expressions_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene_ontology_term_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene_set_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/gene_value_object.py +76 -22
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/measurement_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/one_of_search_result_value_object_object_result_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/ontology_term_simple_value_object.py +136 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/ontology_term_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/paginated_response_data_object_composite_sequence_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/paginated_response_data_object_experiment_expression_levels_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/paginated_response_data_object_expression_experiment_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/paginated_response_data_object_gene_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/paginated_results_response_data_object_differential_expression_analysis_result_set_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/permissions_update_request.py +110 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/physical_location_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/pipeline_status_value_object.py +370 -0
- gemmapy-2.0.7/gemmapy/sdk/models/pipeline_step_value_object.py +214 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/platform.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/platform1.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/platform2.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/platform3.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/platform4.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/platform5.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/platform_arg.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/probe.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/protocol_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/quantitation_type.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/quantitation_type1.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/quantitation_type2.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/quantitation_type3.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/quantitation_type4.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/quantitation_type5.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/quantitation_type_arg.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/quantitation_type_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/queried_and_filtered_and_inferred_and_limited_response_data_object_annotation_with_usage_statistics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/queried_and_filtered_and_inferred_and_limited_response_data_object_array_design_with_usage_statistics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/queried_and_filtered_and_inferred_and_limited_response_data_object_category_with_usage_statistics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/queried_and_filtered_and_inferred_and_paginated_response_data_object_differential_expression_analysis_result_by_gene_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/queried_and_filtered_and_inferred_and_paginated_response_data_object_expression_experiment_with_search_result_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/queried_and_filtered_and_inferred_response_data_object_taxon_with_usage_statistics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/queried_and_filtered_and_paginated_response_data_object_expression_experiment_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/query_arg.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_api_info_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_cell_type_assignment_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_curation_details_value_object.py +136 -0
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_dataset_permissions_value_object.py +136 -0
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_design_preflight_report.py +136 -0
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_experimental_design_value_object.py +136 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_expression_experiment_sub_set_group_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_expression_experiment_sub_set_with_groups_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_expression_experiment_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_geeq_value_object.py +136 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_annotation_search_result_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_array_design_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_list_audit_event_value_object.py +136 -0
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_list_bibliographic_reference_value_object.py +136 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_bio_assay_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_cell_level_characteristics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_differential_expression_analysis_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_experiment_expression_levels_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_expression_experiment_sub_set_group_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_expression_experiment_sub_set_with_groups_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_gene_ontology_term_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_gene_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_list_ontology_term_simple_value_object.py +136 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_physical_location_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_list_taxon_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_long.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_ontology_term_value_object.py +136 -0
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_pipeline_status_value_object.py +136 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_set_annotation_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_set_quantitation_type_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_simple_svd_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_data_object_single_cell_dimension_value_object.py +1 -1
- gemmapy-2.0.7/gemmapy/sdk/models/response_data_object_task_status_value_object.py +136 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/response_error_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/search_result_type.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/search_result_value_object_expression_experiment_value_object.py +56 -4
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/search_result_value_object_object.py +56 -4
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/search_results_response_data_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/search_settings_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/simple_svd_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/single_cell_dimension_value_object.py +46 -18
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/sort_arg_array_design.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/sort_arg_expression_analysis_result_set.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/sort_arg_expression_experiment.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/sort_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/statement_value_object.py +28 -2
- gemmapy-2.0.7/gemmapy/sdk/models/subset_ref.py +164 -0
- gemmapy-2.0.7/gemmapy/sdk/models/summary.py +266 -0
- gemmapy-2.0.7/gemmapy/sdk/models/task_status_value_object.py +292 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon1.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon10.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon11.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon12.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon2.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon3.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon4.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon5.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon6.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon7.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon8.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon9.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon_arg.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/taxon_with_usage_statistics_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/vector_element_value_object.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/well_composed_error.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/well_composed_error_body.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/models/well_composed_warning.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/rest.py +1 -1
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy.egg-info/PKG-INFO +9 -10
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy.egg-info/SOURCES.txt +49 -1
- gemmapy-2.0.7/gemmapy.egg-info/top_level.txt +9 -0
- gemmapy-2.0.7/pyproject.toml +28 -0
- gemmapy-2.0.7/setup.cfg +4 -0
- gemmapy-2.0.7/tests/____test_basic1.py +145 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/tests/test_basic.py +56 -5
- gemmapy-2.0.3/gemmapy.egg-info/top_level.txt +0 -1
- gemmapy-2.0.3/pyproject.toml +0 -3
- gemmapy-2.0.3/setup.cfg +0 -25
- {gemmapy-2.0.3 → gemmapy-2.0.7}/LICENSE.md +0 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/__init__.py +0 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/_validators.py +0 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy/sdk/api/__init__.py +0 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy.egg-info/dependency_links.txt +0 -0
- {gemmapy-2.0.3 → gemmapy-2.0.7}/gemmapy.egg-info/requires.txt +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gemmapy
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.7
|
|
4
4
|
Summary: a Python Wrapper for the Gemma API
|
|
5
5
|
Keywords: gemma,bioinformatics
|
|
6
|
-
Requires-Python:
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
|
+
Description-Content-Type: text/x-rst
|
|
7
8
|
License-File: LICENSE.md
|
|
8
9
|
Requires-Dist: certifi>=14.05.14
|
|
9
10
|
Requires-Dist: six>=1.10
|
|
@@ -30,22 +31,20 @@ public studies, referencing thousands of published papers.
|
|
|
30
31
|
Installation instructions
|
|
31
32
|
-------------------------
|
|
32
33
|
.. This is a content of docs/install.rst. Update it whenever install.rst changes.
|
|
33
|
-
|
|
34
|
-
The package requires Python3.10+.
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
The package requires Python 3.10+.
|
|
36
|
+
|
|
37
|
+
#. Install it from PyPI
|
|
37
38
|
|
|
38
39
|
.. code-block:: bash
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
cd gemmapy
|
|
42
|
-
pip install .
|
|
41
|
+
pip install gemmapy
|
|
43
42
|
|
|
44
|
-
#. Install it from
|
|
43
|
+
#. Install it from a local copy
|
|
45
44
|
|
|
46
45
|
.. code-block:: bash
|
|
47
46
|
|
|
48
|
-
pip install gemmapy
|
|
47
|
+
pip install git+https://github.com/PavlidisLab/gemmapy.git
|
|
49
48
|
|
|
50
49
|
|
|
51
50
|
Usage
|
|
@@ -12,22 +12,20 @@ public studies, referencing thousands of published papers.
|
|
|
12
12
|
Installation instructions
|
|
13
13
|
-------------------------
|
|
14
14
|
.. This is a content of docs/install.rst. Update it whenever install.rst changes.
|
|
15
|
-
|
|
16
|
-
The package requires Python3.10+.
|
|
17
15
|
|
|
18
|
-
|
|
16
|
+
The package requires Python 3.10+.
|
|
17
|
+
|
|
18
|
+
#. Install it from PyPI
|
|
19
19
|
|
|
20
20
|
.. code-block:: bash
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
cd gemmapy
|
|
24
|
-
pip install .
|
|
22
|
+
pip install gemmapy
|
|
25
23
|
|
|
26
|
-
#. Install it from
|
|
24
|
+
#. Install it from a local copy
|
|
27
25
|
|
|
28
26
|
.. code-block:: bash
|
|
29
27
|
|
|
30
|
-
pip install gemmapy
|
|
28
|
+
pip install git+https://github.com/PavlidisLab/gemmapy.git
|
|
31
29
|
|
|
32
30
|
|
|
33
31
|
Usage
|
|
File without changes
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Configuration file for the Sphinx documentation builder.
|
|
2
|
+
#
|
|
3
|
+
# This file only contains a selection of the most common options. For a full
|
|
4
|
+
# list see the documentation:
|
|
5
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
6
|
+
|
|
7
|
+
# -- Path setup --------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
# If extensions (or modules to document with autodoc) are in another directory,
|
|
10
|
+
# add these directories to sys.path here. If the directory is relative to the
|
|
11
|
+
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
|
12
|
+
#
|
|
13
|
+
import os
|
|
14
|
+
import sys
|
|
15
|
+
sys.path.insert(0, os.path.abspath('..'))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# -- Project information -----------------------------------------------------
|
|
19
|
+
|
|
20
|
+
project = 'GemmaPy'
|
|
21
|
+
copyright = '2022, The University of British Columbia'
|
|
22
|
+
author = 'D. Vavilov'
|
|
23
|
+
|
|
24
|
+
# The full version, including alpha/beta/rc tags
|
|
25
|
+
release = '0.0.1'
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# -- General configuration ---------------------------------------------------
|
|
29
|
+
|
|
30
|
+
# Add any Sphinx extension module names here, as strings. They can be
|
|
31
|
+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
|
32
|
+
# ones.
|
|
33
|
+
extensions = [
|
|
34
|
+
'sphinx.ext.autodoc',
|
|
35
|
+
'sphinx.ext.autosummary',
|
|
36
|
+
'sphinx.ext.viewcode',
|
|
37
|
+
'sphinx_autodoc_typehints',
|
|
38
|
+
'sphinx.ext.githubpages',
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
# Add any paths that contain templates here, relative to this directory.
|
|
42
|
+
templates_path = ['_templates']
|
|
43
|
+
|
|
44
|
+
# List of patterns, relative to source directory, that match files and
|
|
45
|
+
# directories to ignore when looking for source files.
|
|
46
|
+
# This pattern also affects html_static_path and html_extra_path.
|
|
47
|
+
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
# -- Options for HTML output -------------------------------------------------
|
|
51
|
+
|
|
52
|
+
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
53
|
+
# a list of builtin themes.
|
|
54
|
+
#
|
|
55
|
+
# Pydata theme
|
|
56
|
+
html_theme = 'alabaster'
|
|
57
|
+
#html_theme = 'sphinx_rtd_theme'
|
|
58
|
+
#html_theme = "pydata_sphinx_theme"
|
|
59
|
+
|
|
60
|
+
# pydata_sphinx
|
|
61
|
+
html_theme_options = { "show_prev_next": False }
|
|
62
|
+
|
|
63
|
+
# alabaster
|
|
64
|
+
html_theme_options = {
|
|
65
|
+
'page_width': '80%',
|
|
66
|
+
'sidebar_width': '20%'
|
|
67
|
+
}
|
|
68
|
+
#html_css_files = ['pydata-custom.css']
|
|
69
|
+
#html_logo = "_static/logo-company.png"
|
|
70
|
+
|
|
71
|
+
# Add any paths that contain custom static files (such as style sheets) here,
|
|
72
|
+
# relative to this directory. They are copied after the builtin static files,
|
|
73
|
+
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
74
|
+
html_static_path = ['_static']
|
|
75
|
+
|
|
76
|
+
autosummary_generate = True # Turn on sphinx.ext.autosummary
|
|
77
|
+
autoclass_content = "both" # Add __init__ doc (ie. params) to class summaries
|
|
78
|
+
html_show_sourcelink = True # Remove 'view source code' from top of page (for html, not python)
|
|
79
|
+
autodoc_inherit_docstrings = True # If no docstring, inherit from base class
|
|
80
|
+
set_type_checking_flag = True # Enable 'expensive' imports for sphinx_autodoc_typehints
|
|
81
|
+
#nbsphinx_allow_errors = True # Continue through Jupyter errors
|
|
82
|
+
#autodoc_typehints = "description" # Sphinx-native method. Not as good as sphinx_autodoc_typehints
|
|
83
|
+
#add_module_names = False # Remove namespaces from class/method signatures
|
|
84
|
+
|
|
85
|
+
#autodoc_mock_imports = ['gemmapy.sdk']
|
|
86
|
+
#autosummary_mock_imports = ['gemmapy.sdk']
|
|
87
|
+
#autosummary_imported_members = False
|
|
@@ -70,6 +70,7 @@ def process_annotations(d:list):
|
|
|
70
70
|
"term_name": sub.field_in_list(d,"term_name"),
|
|
71
71
|
"term_URI": sub.field_in_list(d,"term_uri"),
|
|
72
72
|
"object_class": sub.field_in_list(d,"object_class"),
|
|
73
|
+
"evidence_code": sub.field_in_list(d,'evidence_code')
|
|
73
74
|
})
|
|
74
75
|
|
|
75
76
|
return df
|
|
@@ -421,6 +422,8 @@ def process_expression(d, dataset, api):
|
|
|
421
422
|
# more non-uniformities
|
|
422
423
|
df = sub.read_tsv(d)
|
|
423
424
|
m_cols = list(df.columns)
|
|
425
|
+
m_cols = [x.replace(".","") for x in m_cols]
|
|
426
|
+
df.columns = m_cols
|
|
424
427
|
# we use the order returned by get_dataset_samples as authoritative which makes
|
|
425
428
|
# it a bit awkward when we need to access a property left out of the processed output
|
|
426
429
|
# this could be simplified by ordering by ids but I don't want to break
|
|
@@ -436,17 +439,18 @@ def process_expression(d, dataset, api):
|
|
|
436
439
|
|
|
437
440
|
sample_names = samples.sample_name
|
|
438
441
|
|
|
439
|
-
sample_internal_names = [x.replace("|","
|
|
440
|
-
|
|
442
|
+
sample_internal_names = [x.replace("|","").replace("-","").replace(" ","").replace(".","").replace("/","") for x in sample_internal_names]
|
|
443
|
+
|
|
441
444
|
def find_match(x):
|
|
442
|
-
|
|
443
|
-
for i in
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
445
|
+
pattern = r"(?<![A-Za-z])" + re.escape(x) + r"_"
|
|
446
|
+
o = [i for i, col in enumerate(m_cols) if re.search(pattern, col)]
|
|
447
|
+
if (len(o)==0 | len(o)>1):
|
|
448
|
+
return None
|
|
449
|
+
else:
|
|
450
|
+
return o[0]
|
|
451
|
+
|
|
448
452
|
sample_matches = [find_match(x) for x in sample_internal_names]
|
|
449
|
-
|
|
453
|
+
|
|
450
454
|
|
|
451
455
|
rename_dict = sub.make_dict([m_cols[i] for i in sample_matches],sample_names)
|
|
452
456
|
|
|
@@ -476,7 +480,31 @@ def process_samples(d:list):
|
|
|
476
480
|
for x in sub.field_in_list(d,"sample","factor_value_objects")]
|
|
477
481
|
|
|
478
482
|
}).sort_values(by= ['sample_ID'],ignore_index=True)
|
|
479
|
-
|
|
483
|
+
|
|
484
|
+
return df
|
|
485
|
+
|
|
486
|
+
def process_publications(d:list):
|
|
487
|
+
|
|
488
|
+
df = pd.DataFrame({
|
|
489
|
+
"publication_ID": sub.field_in_list(d,"id"),
|
|
490
|
+
"title": sub.field_in_list(d,"title"),
|
|
491
|
+
"authors": sub.field_in_list(d,"author_list"),
|
|
492
|
+
"publication": sub.field_in_list(d,"publication"),
|
|
493
|
+
"publication_date": sub.field_in_list(d,"publication_date"),
|
|
494
|
+
"publisher": sub.field_in_list(d,"publisher"),
|
|
495
|
+
"volume": sub.field_in_list(d,"volume"),
|
|
496
|
+
"issue": sub.field_in_list(d,"issue"),
|
|
497
|
+
"pages": sub.field_in_list(d,"pages"),
|
|
498
|
+
"abstract": sub.field_in_list(d,"abstract_text"),
|
|
499
|
+
"pubmed_ID": sub.field_in_list(d,"citation","pubmed_accession"),
|
|
500
|
+
"pubmed_URL": sub.field_in_list(d,"citation","pubmed_url"),
|
|
501
|
+
"citation": sub.field_in_list(d,"citation","citation"),
|
|
502
|
+
"pub_accession": sub.field_in_list(d,"pub_accession"),
|
|
503
|
+
"mesh_terms": sub.field_in_list(d,"mesh_terms"),
|
|
504
|
+
"chemicals_terms": sub.field_in_list(d,"chemicals_terms"),
|
|
505
|
+
"retracted": sub.field_in_list(d,"retracted"),
|
|
506
|
+
})
|
|
507
|
+
|
|
480
508
|
return df
|
|
481
509
|
|
|
482
510
|
def process_datasets(d:list):
|
|
@@ -146,7 +146,7 @@ def process_FactorValueBasicValueObject(d):
|
|
|
146
146
|
"predicate.URI":[np.nan],
|
|
147
147
|
"object":[np.nan],
|
|
148
148
|
"object_URI":[np.nan],
|
|
149
|
-
"summary":[
|
|
149
|
+
"summary":[access_field(d,"summary")],
|
|
150
150
|
"ID":[access_field(d,'id')],
|
|
151
151
|
"factor_ID":[access_field(d,"experimental_factor_id")],
|
|
152
152
|
"factor_category":[access_field(d,"experimental_factor_category","category")],
|
|
@@ -2,53 +2,113 @@
|
|
|
2
2
|
"""
|
|
3
3
|
Gemma python API (https://gemma.msl.ubc.ca/rest/v2/)
|
|
4
4
|
"""
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
import enum
|
|
6
|
+
import json
|
|
7
|
+
import logging
|
|
8
|
+
import os
|
|
9
|
+
import subprocess
|
|
10
|
+
import warnings
|
|
11
|
+
import warnings
|
|
12
|
+
from getpass import getpass
|
|
13
|
+
from io import StringIO
|
|
10
14
|
from typing import Optional, List, Callable
|
|
11
|
-
|
|
12
|
-
import pandas as pd
|
|
13
|
-
import numpy as np
|
|
15
|
+
|
|
14
16
|
import anndata as ad
|
|
17
|
+
import numpy as np
|
|
18
|
+
import pandas as pd
|
|
15
19
|
from anndata import AnnData
|
|
16
|
-
from
|
|
17
|
-
|
|
18
|
-
import
|
|
20
|
+
from pandas import DataFrame
|
|
21
|
+
|
|
22
|
+
from gemmapy import _processors as ps
|
|
23
|
+
from gemmapy import _subprocessors as sub
|
|
24
|
+
from gemmapy import _validators as vs
|
|
25
|
+
from gemmapy import sdk
|
|
26
|
+
|
|
27
|
+
logger = logging.getLogger(__name__)
|
|
19
28
|
|
|
29
|
+
class GemmaPath(enum.Enum):
|
|
30
|
+
PROD = "prod"
|
|
31
|
+
DEV = "dev"
|
|
32
|
+
STAGING = "staging"
|
|
20
33
|
|
|
21
34
|
class GemmaPy(object):
|
|
22
35
|
"""
|
|
23
36
|
Main API class
|
|
24
37
|
"""
|
|
25
38
|
|
|
26
|
-
def __init__(self, auth:list|tuple=None,
|
|
39
|
+
def __init__(self, auth: Optional[list | tuple] = None,
|
|
40
|
+
path: Optional[GemmaPath | str] = None):
|
|
27
41
|
"""
|
|
28
42
|
:param list auth: (optional) A list or tuple of credential strings, e.g.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
43
|
+
(your_username, your_password). Note that you may also define your Gemma
|
|
44
|
+
credentials using `GEMMA_USERNAME` and `GEMMA_PASSWORD` environment
|
|
45
|
+
variables. For a more secure approach, you can also provide a
|
|
46
|
+
`GEMMA_PASSWORD_CMD` variable that produces your password
|
|
47
|
+
(e.g. `pass gemma` using https://www.passwordstore.org/). If only a
|
|
48
|
+
username is supplied, a password prompt will be used.
|
|
49
|
+
:param str path: (optional) Override the path to use for the REST API.
|
|
50
|
+
You may use one of the enumerated values in GemmaPath or a string.
|
|
51
|
+
Three special values are recognized: "prod", "staging" and "dev",
|
|
52
|
+
although only "prod" is publicly accessible. The default is the value
|
|
53
|
+
from the OpenAPI specification used to generate the SDK, which is
|
|
54
|
+
usually equivalent to PROD.
|
|
32
55
|
"""
|
|
33
56
|
|
|
34
57
|
configuration = sdk.Configuration()
|
|
35
|
-
if path ==
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
elif path == 'dev':
|
|
58
|
+
if path == GemmaPath.PROD or path == 'prod':
|
|
59
|
+
logger.debug("Using production endpoint.")
|
|
60
|
+
configuration.host = 'https://gemma.msl.ubc.ca/rest/v2'
|
|
61
|
+
elif path == GemmaPath.DEV or path == 'dev':
|
|
39
62
|
configuration.host = 'https://dev.gemma.msl.ubc.ca/rest/v2'
|
|
40
|
-
elif path == 'staging':
|
|
63
|
+
elif path == GemmaPath.STAGING or path == 'staging':
|
|
41
64
|
configuration.host = "https://staging-gemma.msl.ubc.ca/rest/v2"
|
|
42
|
-
|
|
65
|
+
elif path is not None:
|
|
43
66
|
configuration.host = path
|
|
44
|
-
|
|
67
|
+
else:
|
|
68
|
+
# use the default configuration in the openapi.json file
|
|
69
|
+
pass
|
|
45
70
|
|
|
46
71
|
if auth is not None:
|
|
72
|
+
if len(auth) != 1 and len(auth) != 2:
|
|
73
|
+
raise ValueError(
|
|
74
|
+
'There must be exactly one or two values in the auth parameter.')
|
|
47
75
|
configuration.username = auth[0]
|
|
48
|
-
|
|
76
|
+
if len(auth) == 2:
|
|
77
|
+
configuration.password = auth[1]
|
|
78
|
+
else:
|
|
79
|
+
configuration.password = getpass(
|
|
80
|
+
f'Supply your password for {configuration.username}@{configuration.host}: ')
|
|
81
|
+
elif os.environ.get('GEMMA_USERNAME'):
|
|
82
|
+
logger.debug(
|
|
83
|
+
'Reading username for %s from $GEMMA_USERNAME.',
|
|
84
|
+
configuration.host)
|
|
85
|
+
configuration.username = os.getenv('GEMMA_USERNAME')
|
|
86
|
+
if os.getenv('GEMMA_PASSWORD'):
|
|
87
|
+
logger.debug("Reading password for %s@%s from $GEMMA_PASSWORD.",
|
|
88
|
+
configuration.username, configuration.host)
|
|
89
|
+
configuration.password = os.getenv('GEMMA_PASSWORD')
|
|
90
|
+
elif os.getenv('GEMMA_PASSWORD_CMD'):
|
|
91
|
+
logger.debug(
|
|
92
|
+
"Reading password for %s@%s from $GEMMA_PASSWORD_CMD (%s).",
|
|
93
|
+
configuration.username, configuration.host,
|
|
94
|
+
os.getenv('GEMMA_PASSWORD_CMD'))
|
|
95
|
+
password = subprocess.run(os.getenv('GEMMA_PASSWORD_CMD'),
|
|
96
|
+
shell=True, check=True,
|
|
97
|
+
stdout=subprocess.PIPE,
|
|
98
|
+
text=True).stdout
|
|
99
|
+
configuration.password = password.splitlines()[0]
|
|
100
|
+
else:
|
|
101
|
+
logger.debug(
|
|
102
|
+
'Could not read GEMMA_PASSWORD nor GEMMA_PASSWORD_CMD from environment, the password will be prompted.')
|
|
103
|
+
configuration.password = getpass(
|
|
104
|
+
f'Supply your password for {configuration.username}@{configuration.host}: ')
|
|
49
105
|
|
|
50
106
|
# create an instance of the API class
|
|
51
107
|
self.raw = sdk.DefaultApi(sdk.ApiClient(configuration))
|
|
108
|
+
try:
|
|
109
|
+
self.raw.get_api_info()
|
|
110
|
+
except:
|
|
111
|
+
warnings.warn("Unable to connect to API")
|
|
52
112
|
|
|
53
113
|
|
|
54
114
|
# /resultSets/count get_number_of_result_sets ------
|
|
@@ -512,8 +572,47 @@ class GemmaPy(object):
|
|
|
512
572
|
response = self.raw.get_dataset_samples(dataset, use_processed_quantitation_type = use_processed_quantitation_type, **kwargs)
|
|
513
573
|
df = ps.process_samples(response.data)
|
|
514
574
|
return df
|
|
515
|
-
|
|
516
|
-
# datasets/{dataset}/
|
|
575
|
+
|
|
576
|
+
# /datasets/{dataset}/publications, get_dataset_all_publications ------
|
|
577
|
+
def get_dataset_all_publications(self, dataset:str|int, **kwargs)->DataFrame:
|
|
578
|
+
"""
|
|
579
|
+
Retrieve all publications associated with a dataset
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
:param dataset: A numerical dataset identifier or a dataset short name
|
|
583
|
+
:type dataset: str|int
|
|
584
|
+
:param **kwargs: Additional arguments to pass to raw.get_dataset_all_publications
|
|
585
|
+
:return: A DataFrame with one row per publication associated with the
|
|
586
|
+
dataset (the primary publication and any related references).
|
|
587
|
+
|
|
588
|
+
The fields of the DataFrame are:
|
|
589
|
+
- publication_ID: Internal Gemma ID for the bibliographic reference
|
|
590
|
+
- title: Title of the publication
|
|
591
|
+
- authors: Author list as a single string
|
|
592
|
+
- publication: Journal or venue name
|
|
593
|
+
- publication_date: Date of publication
|
|
594
|
+
- publisher: Publisher name
|
|
595
|
+
- volume: Journal volume
|
|
596
|
+
- issue: Journal issue
|
|
597
|
+
- pages: Page range
|
|
598
|
+
- abstract: Abstract text
|
|
599
|
+
- pubmed_ID: PubMed accession ID
|
|
600
|
+
- pubmed_URL: PubMed URL
|
|
601
|
+
- citation: Formatted citation string
|
|
602
|
+
- pub_accession: Accession in the source publication database
|
|
603
|
+
- mesh_terms: List of MeSH terms
|
|
604
|
+
- chemicals_terms: List of chemicals terms
|
|
605
|
+
- retracted: Whether the publication has been retracted
|
|
606
|
+
:rtype: DataFrame
|
|
607
|
+
|
|
608
|
+
"""
|
|
609
|
+
response = self.raw.get_dataset_all_publications(dataset, **kwargs)
|
|
610
|
+
df = ps.process_publications(response.data)
|
|
611
|
+
ps.attach_attributes(df, response.to_dict())
|
|
612
|
+
|
|
613
|
+
return df
|
|
614
|
+
|
|
615
|
+
# datasets/{dataset}/svd ---
|
|
517
616
|
# not implemented
|
|
518
617
|
|
|
519
618
|
# datasets, get_datasets ------
|
|
@@ -1283,18 +1382,17 @@ class GemmaPy(object):
|
|
|
1283
1382
|
|
|
1284
1383
|
text = [get_text(x) for x in categories.factor_ID]
|
|
1285
1384
|
|
|
1286
|
-
|
|
1287
1385
|
if meta_type =='text':
|
|
1288
1386
|
design_frame = pd.DataFrame({
|
|
1289
|
-
categories.factor_category[i]:text[i] for i in range(len(text))
|
|
1387
|
+
categories.factor_category.tolist()[i]:text[i] for i in range(len(text))
|
|
1290
1388
|
})
|
|
1291
1389
|
elif meta_type == 'uri':
|
|
1292
1390
|
design_frame = pd.DataFrame({
|
|
1293
|
-
categories.factor_category_URI[i]:factor_URIs[i] for i in range(len(factor_URIs))
|
|
1391
|
+
categories.factor_category_URI.tolist()[i]:factor_URIs[i] for i in range(len(factor_URIs))
|
|
1294
1392
|
})
|
|
1295
1393
|
elif meta_type =='both':
|
|
1296
|
-
merged_name = [["|".join([categories.factor_category[i],
|
|
1297
|
-
categories.factor_category_URI[i]])] for i in range(len(text))]
|
|
1394
|
+
merged_name = [["|".join([categories.factor_category.tolist()[i],
|
|
1395
|
+
categories.factor_category_URI.tolist()[i]])] for i in range(len(text))]
|
|
1298
1396
|
|
|
1299
1397
|
merged_col = [["|".join([text[i][j],factor_URIs[i][j]])
|
|
1300
1398
|
for j in range(len(text[i]))] for i in range(len(text))]
|
|
@@ -1323,7 +1421,7 @@ class GemmaPy(object):
|
|
|
1323
1421
|
result_set].subset_factor.drop_duplicates()
|
|
1324
1422
|
# result set should have the same subset for all contrasts
|
|
1325
1423
|
assert len(subset) == 1
|
|
1326
|
-
if subset[0].shape[0]!=0:
|
|
1424
|
+
if subset.tolist()[0].shape[0]!=0:
|
|
1327
1425
|
subset_ids = subset[0].ID
|
|
1328
1426
|
|
|
1329
1427
|
in_subset = [any(sub.list_in_list(x.ID, subset_ids)) for x in factor_values]
|
|
@@ -1516,12 +1614,12 @@ class GemmaPy(object):
|
|
|
1516
1614
|
# probe ids are usually unique but there are exceptions
|
|
1517
1615
|
|
|
1518
1616
|
unique_probes = packed_info['exp'].Probe
|
|
1519
|
-
append = pd.Series(sub.rep(0,len(unique_probes)))
|
|
1617
|
+
append = pd.Series(sub.rep(0,len(unique_probes)), index = unique_probes.index)
|
|
1520
1618
|
dups = unique_probes.duplicated()
|
|
1521
1619
|
while dups.any():
|
|
1522
1620
|
append[dups] = append[dups]+1
|
|
1523
1621
|
dups = (unique_probes + append.astype('string')).duplicated()
|
|
1524
|
-
|
|
1622
|
+
|
|
1525
1623
|
append = append.astype('string')
|
|
1526
1624
|
append[append=='0'] = ""
|
|
1527
1625
|
unique_probes = unique_probes + append
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
This website documents the usage of the [Gemma RESTful API](https://gemma.msl.ubc.ca/rest/v2/). Here you can find example script usage of the API, as well as graphical interface for each endpoint, with description of its parameters and the endpoint URL. Use of this webpage and the Gemma Web services, including the REST API, is subject to [these terms and conditions](https://pavlidislab.github.io/Gemma/terms.html). Please read these in full before continuing to use this webpage or any other part of the Gemma system. You can [consult the CHANGELOG.md file](https://gemma.msl.ubc.ca/resources/restapidocs/CHANGELOG.md) to view release notes and recent changes to the Gemma RESTful API. # noqa: E501
|
|
9
9
|
|
|
10
|
-
OpenAPI spec version: 2.9.
|
|
10
|
+
OpenAPI spec version: 2.9.4
|
|
11
11
|
Contact: pavlab-support@msl.ubc.ca
|
|
12
12
|
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
13
13
|
"""
|
|
@@ -20,6 +20,7 @@ from gemmapy.sdk.api.default_api import DefaultApi
|
|
|
20
20
|
from gemmapy.sdk.api_client import ApiClient
|
|
21
21
|
from gemmapy.sdk.configuration import Configuration
|
|
22
22
|
# import models into sdk package
|
|
23
|
+
from gemmapy.sdk.models.analysis_ref import AnalysisRef
|
|
23
24
|
from gemmapy.sdk.models.annotation_search_result_value_object import AnnotationSearchResultValueObject
|
|
24
25
|
from gemmapy.sdk.models.annotation_value_object import AnnotationValueObject
|
|
25
26
|
from gemmapy.sdk.models.annotation_with_usage_statistics_value_object import AnnotationWithUsageStatisticsValueObject
|
|
@@ -29,8 +30,10 @@ from gemmapy.sdk.models.array_design_with_usage_statistics_value_object import A
|
|
|
29
30
|
from gemmapy.sdk.models.audit_event_value_object import AuditEventValueObject
|
|
30
31
|
from gemmapy.sdk.models.bibliographic_reference_value_object import BibliographicReferenceValueObject
|
|
31
32
|
from gemmapy.sdk.models.bio_assay_value_object import BioAssayValueObject
|
|
33
|
+
from gemmapy.sdk.models.bio_material_factor_value_assignment import BioMaterialFactorValueAssignment
|
|
32
34
|
from gemmapy.sdk.models.bio_material_value_object import BioMaterialValueObject
|
|
33
35
|
from gemmapy.sdk.models.bio_sequence_value_object import BioSequenceValueObject
|
|
36
|
+
from gemmapy.sdk.models.blocker import Blocker
|
|
34
37
|
from gemmapy.sdk.models.build_info_value_object import BuildInfoValueObject
|
|
35
38
|
from gemmapy.sdk.models.category_with_usage_statistics_value_object import CategoryWithUsageStatisticsValueObject
|
|
36
39
|
from gemmapy.sdk.models.cell_level_characteristics_value_object import CellLevelCharacteristicsValueObject
|
|
@@ -40,6 +43,8 @@ from gemmapy.sdk.models.citation_value_object import CitationValueObject
|
|
|
40
43
|
from gemmapy.sdk.models.composite_sequence_arg import CompositeSequenceArg
|
|
41
44
|
from gemmapy.sdk.models.composite_sequence_value_object import CompositeSequenceValueObject
|
|
42
45
|
from gemmapy.sdk.models.contrast_result_value_object import ContrastResultValueObject
|
|
46
|
+
from gemmapy.sdk.models.curation_details_update_request import CurationDetailsUpdateRequest
|
|
47
|
+
from gemmapy.sdk.models.curation_details_value_object import CurationDetailsValueObject
|
|
43
48
|
from gemmapy.sdk.models.database_entry_arg import DatabaseEntryArg
|
|
44
49
|
from gemmapy.sdk.models.database_entry_value_object import DatabaseEntryValueObject
|
|
45
50
|
from gemmapy.sdk.models.dataset import Dataset
|
|
@@ -56,7 +61,24 @@ from gemmapy.sdk.models.dataset18 import Dataset18
|
|
|
56
61
|
from gemmapy.sdk.models.dataset19 import Dataset19
|
|
57
62
|
from gemmapy.sdk.models.dataset2 import Dataset2
|
|
58
63
|
from gemmapy.sdk.models.dataset20 import Dataset20
|
|
64
|
+
from gemmapy.sdk.models.dataset21 import Dataset21
|
|
65
|
+
from gemmapy.sdk.models.dataset22 import Dataset22
|
|
66
|
+
from gemmapy.sdk.models.dataset23 import Dataset23
|
|
67
|
+
from gemmapy.sdk.models.dataset24 import Dataset24
|
|
68
|
+
from gemmapy.sdk.models.dataset25 import Dataset25
|
|
69
|
+
from gemmapy.sdk.models.dataset26 import Dataset26
|
|
70
|
+
from gemmapy.sdk.models.dataset27 import Dataset27
|
|
71
|
+
from gemmapy.sdk.models.dataset28 import Dataset28
|
|
72
|
+
from gemmapy.sdk.models.dataset29 import Dataset29
|
|
59
73
|
from gemmapy.sdk.models.dataset3 import Dataset3
|
|
74
|
+
from gemmapy.sdk.models.dataset30 import Dataset30
|
|
75
|
+
from gemmapy.sdk.models.dataset31 import Dataset31
|
|
76
|
+
from gemmapy.sdk.models.dataset32 import Dataset32
|
|
77
|
+
from gemmapy.sdk.models.dataset33 import Dataset33
|
|
78
|
+
from gemmapy.sdk.models.dataset34 import Dataset34
|
|
79
|
+
from gemmapy.sdk.models.dataset35 import Dataset35
|
|
80
|
+
from gemmapy.sdk.models.dataset36 import Dataset36
|
|
81
|
+
from gemmapy.sdk.models.dataset37 import Dataset37
|
|
60
82
|
from gemmapy.sdk.models.dataset4 import Dataset4
|
|
61
83
|
from gemmapy.sdk.models.dataset5 import Dataset5
|
|
62
84
|
from gemmapy.sdk.models.dataset6 import Dataset6
|
|
@@ -64,12 +86,18 @@ from gemmapy.sdk.models.dataset7 import Dataset7
|
|
|
64
86
|
from gemmapy.sdk.models.dataset8 import Dataset8
|
|
65
87
|
from gemmapy.sdk.models.dataset9 import Dataset9
|
|
66
88
|
from gemmapy.sdk.models.dataset_arg import DatasetArg
|
|
89
|
+
from gemmapy.sdk.models.dataset_permissions_value_object import DatasetPermissionsValueObject
|
|
90
|
+
from gemmapy.sdk.models.design_preflight_report import DesignPreflightReport
|
|
67
91
|
from gemmapy.sdk.models.diff_ex_result_set_summary_value_object import DiffExResultSetSummaryValueObject
|
|
92
|
+
from gemmapy.sdk.models.differential_analysis_run_request import DifferentialAnalysisRunRequest
|
|
68
93
|
from gemmapy.sdk.models.differential_expression_analysis_result_by_gene_value_object import DifferentialExpressionAnalysisResultByGeneValueObject
|
|
69
94
|
from gemmapy.sdk.models.differential_expression_analysis_result_set_value_object import DifferentialExpressionAnalysisResultSetValueObject
|
|
70
95
|
from gemmapy.sdk.models.differential_expression_analysis_result_value_object import DifferentialExpressionAnalysisResultValueObject
|
|
71
96
|
from gemmapy.sdk.models.differential_expression_analysis_value_object import DifferentialExpressionAnalysisValueObject
|
|
97
|
+
from gemmapy.sdk.models.entity_ref import EntityRef
|
|
72
98
|
from gemmapy.sdk.models.experiment_expression_levels_value_object import ExperimentExpressionLevelsValueObject
|
|
99
|
+
from gemmapy.sdk.models.experimental_design_value_object import ExperimentalDesignValueObject
|
|
100
|
+
from gemmapy.sdk.models.experimental_factor_entry import ExperimentalFactorEntry
|
|
73
101
|
from gemmapy.sdk.models.experimental_factor_value_object import ExperimentalFactorValueObject
|
|
74
102
|
from gemmapy.sdk.models.expression_experiment_set_value_object import ExpressionExperimentSetValueObject
|
|
75
103
|
from gemmapy.sdk.models.expression_experiment_sub_set_group_value_object import ExpressionExperimentSubSetGroupValueObject
|
|
@@ -107,13 +135,17 @@ from gemmapy.sdk.models.gene_set_value_object import GeneSetValueObject
|
|
|
107
135
|
from gemmapy.sdk.models.gene_value_object import GeneValueObject
|
|
108
136
|
from gemmapy.sdk.models.measurement_value_object import MeasurementValueObject
|
|
109
137
|
from gemmapy.sdk.models.one_of_search_result_value_object_object_result_object import OneOfSearchResultValueObjectObjectResultObject
|
|
138
|
+
from gemmapy.sdk.models.ontology_term_simple_value_object import OntologyTermSimpleValueObject
|
|
110
139
|
from gemmapy.sdk.models.ontology_term_value_object import OntologyTermValueObject
|
|
111
140
|
from gemmapy.sdk.models.paginated_response_data_object_composite_sequence_value_object import PaginatedResponseDataObjectCompositeSequenceValueObject
|
|
112
141
|
from gemmapy.sdk.models.paginated_response_data_object_experiment_expression_levels_value_object import PaginatedResponseDataObjectExperimentExpressionLevelsValueObject
|
|
113
142
|
from gemmapy.sdk.models.paginated_response_data_object_expression_experiment_value_object import PaginatedResponseDataObjectExpressionExperimentValueObject
|
|
114
143
|
from gemmapy.sdk.models.paginated_response_data_object_gene_value_object import PaginatedResponseDataObjectGeneValueObject
|
|
115
144
|
from gemmapy.sdk.models.paginated_results_response_data_object_differential_expression_analysis_result_set_value_object import PaginatedResultsResponseDataObjectDifferentialExpressionAnalysisResultSetValueObject
|
|
145
|
+
from gemmapy.sdk.models.permissions_update_request import PermissionsUpdateRequest
|
|
116
146
|
from gemmapy.sdk.models.physical_location_value_object import PhysicalLocationValueObject
|
|
147
|
+
from gemmapy.sdk.models.pipeline_status_value_object import PipelineStatusValueObject
|
|
148
|
+
from gemmapy.sdk.models.pipeline_step_value_object import PipelineStepValueObject
|
|
117
149
|
from gemmapy.sdk.models.platform import Platform
|
|
118
150
|
from gemmapy.sdk.models.platform1 import Platform1
|
|
119
151
|
from gemmapy.sdk.models.platform2 import Platform2
|
|
@@ -141,11 +173,18 @@ from gemmapy.sdk.models.queried_and_filtered_and_paginated_response_data_object_
|
|
|
141
173
|
from gemmapy.sdk.models.query_arg import QueryArg
|
|
142
174
|
from gemmapy.sdk.models.response_data_object_api_info_value_object import ResponseDataObjectApiInfoValueObject
|
|
143
175
|
from gemmapy.sdk.models.response_data_object_cell_type_assignment_value_object import ResponseDataObjectCellTypeAssignmentValueObject
|
|
176
|
+
from gemmapy.sdk.models.response_data_object_curation_details_value_object import ResponseDataObjectCurationDetailsValueObject
|
|
177
|
+
from gemmapy.sdk.models.response_data_object_dataset_permissions_value_object import ResponseDataObjectDatasetPermissionsValueObject
|
|
178
|
+
from gemmapy.sdk.models.response_data_object_design_preflight_report import ResponseDataObjectDesignPreflightReport
|
|
179
|
+
from gemmapy.sdk.models.response_data_object_experimental_design_value_object import ResponseDataObjectExperimentalDesignValueObject
|
|
144
180
|
from gemmapy.sdk.models.response_data_object_expression_experiment_sub_set_group_value_object import ResponseDataObjectExpressionExperimentSubSetGroupValueObject
|
|
145
181
|
from gemmapy.sdk.models.response_data_object_expression_experiment_sub_set_with_groups_value_object import ResponseDataObjectExpressionExperimentSubSetWithGroupsValueObject
|
|
146
182
|
from gemmapy.sdk.models.response_data_object_expression_experiment_value_object import ResponseDataObjectExpressionExperimentValueObject
|
|
183
|
+
from gemmapy.sdk.models.response_data_object_geeq_value_object import ResponseDataObjectGeeqValueObject
|
|
147
184
|
from gemmapy.sdk.models.response_data_object_list_annotation_search_result_value_object import ResponseDataObjectListAnnotationSearchResultValueObject
|
|
148
185
|
from gemmapy.sdk.models.response_data_object_list_array_design_value_object import ResponseDataObjectListArrayDesignValueObject
|
|
186
|
+
from gemmapy.sdk.models.response_data_object_list_audit_event_value_object import ResponseDataObjectListAuditEventValueObject
|
|
187
|
+
from gemmapy.sdk.models.response_data_object_list_bibliographic_reference_value_object import ResponseDataObjectListBibliographicReferenceValueObject
|
|
149
188
|
from gemmapy.sdk.models.response_data_object_list_bio_assay_value_object import ResponseDataObjectListBioAssayValueObject
|
|
150
189
|
from gemmapy.sdk.models.response_data_object_list_cell_level_characteristics_value_object import ResponseDataObjectListCellLevelCharacteristicsValueObject
|
|
151
190
|
from gemmapy.sdk.models.response_data_object_list_differential_expression_analysis_value_object import ResponseDataObjectListDifferentialExpressionAnalysisValueObject
|
|
@@ -154,13 +193,17 @@ from gemmapy.sdk.models.response_data_object_list_expression_experiment_sub_set_
|
|
|
154
193
|
from gemmapy.sdk.models.response_data_object_list_expression_experiment_sub_set_with_groups_value_object import ResponseDataObjectListExpressionExperimentSubSetWithGroupsValueObject
|
|
155
194
|
from gemmapy.sdk.models.response_data_object_list_gene_ontology_term_value_object import ResponseDataObjectListGeneOntologyTermValueObject
|
|
156
195
|
from gemmapy.sdk.models.response_data_object_list_gene_value_object import ResponseDataObjectListGeneValueObject
|
|
196
|
+
from gemmapy.sdk.models.response_data_object_list_ontology_term_simple_value_object import ResponseDataObjectListOntologyTermSimpleValueObject
|
|
157
197
|
from gemmapy.sdk.models.response_data_object_list_physical_location_value_object import ResponseDataObjectListPhysicalLocationValueObject
|
|
158
198
|
from gemmapy.sdk.models.response_data_object_list_taxon_value_object import ResponseDataObjectListTaxonValueObject
|
|
159
199
|
from gemmapy.sdk.models.response_data_object_long import ResponseDataObjectLong
|
|
200
|
+
from gemmapy.sdk.models.response_data_object_ontology_term_value_object import ResponseDataObjectOntologyTermValueObject
|
|
201
|
+
from gemmapy.sdk.models.response_data_object_pipeline_status_value_object import ResponseDataObjectPipelineStatusValueObject
|
|
160
202
|
from gemmapy.sdk.models.response_data_object_set_annotation_value_object import ResponseDataObjectSetAnnotationValueObject
|
|
161
203
|
from gemmapy.sdk.models.response_data_object_set_quantitation_type_value_object import ResponseDataObjectSetQuantitationTypeValueObject
|
|
162
204
|
from gemmapy.sdk.models.response_data_object_simple_svd_value_object import ResponseDataObjectSimpleSVDValueObject
|
|
163
205
|
from gemmapy.sdk.models.response_data_object_single_cell_dimension_value_object import ResponseDataObjectSingleCellDimensionValueObject
|
|
206
|
+
from gemmapy.sdk.models.response_data_object_task_status_value_object import ResponseDataObjectTaskStatusValueObject
|
|
164
207
|
from gemmapy.sdk.models.response_error_object import ResponseErrorObject
|
|
165
208
|
from gemmapy.sdk.models.search_result_type import SearchResultType
|
|
166
209
|
from gemmapy.sdk.models.search_result_value_object_expression_experiment_value_object import SearchResultValueObjectExpressionExperimentValueObject
|
|
@@ -174,6 +217,9 @@ from gemmapy.sdk.models.sort_arg_expression_analysis_result_set import SortArgEx
|
|
|
174
217
|
from gemmapy.sdk.models.sort_arg_expression_experiment import SortArgExpressionExperiment
|
|
175
218
|
from gemmapy.sdk.models.sort_value_object import SortValueObject
|
|
176
219
|
from gemmapy.sdk.models.statement_value_object import StatementValueObject
|
|
220
|
+
from gemmapy.sdk.models.subset_ref import SubsetRef
|
|
221
|
+
from gemmapy.sdk.models.summary import Summary
|
|
222
|
+
from gemmapy.sdk.models.task_status_value_object import TaskStatusValueObject
|
|
177
223
|
from gemmapy.sdk.models.taxon import Taxon
|
|
178
224
|
from gemmapy.sdk.models.taxon1 import Taxon1
|
|
179
225
|
from gemmapy.sdk.models.taxon10 import Taxon10
|